博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 调用系统相机录像并保存
阅读量:4551 次
发布时间:2019-06-08

本文共 2121 字,大约阅读时间需要 7 分钟。

1、在AndroidManifest.xml中添加如下代码

 
 

2、在res目录下新建一个xml文件夹,并且新建一个provider_paths的xml文件

3、主文件中打开相机

Intent intent=new Intent(MediaStore.ACTION_VIDEO_CAPTURE); try {
//fileUri=Uri.fromFile(createMediaFile());如果这样写会报错 fileUri= FileProvider.getUriForFile(CameraVideoActivity.this,getApplicationContext().getPackageName() + ".provider",createMediaFile());//这是正确的写法 } catch (IOException e) {
e.printStackTrace(); } intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri); intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1); startActivityForResult(intent,1);

4、创建并保存视频的方法

private File createMediaFile() throws IOException {
if(Utils.checkSDCardAvaliable()) {
if ((Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))) {
// 选择自己的文件夹 String path = Environment.getExternalStorageDirectory().getPath() + "/myvideo/"; // Constants.video_url 是一个常量,代表存放视频的文件夹 File mediaStorageDir = new File(path); if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.e("TAG", "文件夹创建失败"); return null; } } // 文件根据当前的毫秒数给自己命名 String timeStamp = String.valueOf(System.currentTimeMillis()); timeStamp = timeStamp.substring(7); String imageFileName = "V" + timeStamp; String suffix = ".mp4"; File mediaFile = new File(mediaStorageDir + File.separator + imageFileName + suffix); return mediaFile; } } return null; } }

5、重写onActivityResult方法

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==1) {
if(resultCode==RESULT_OK) {
Toast.makeText(this, "Video saved to:\n" + data.getData(), Toast.LENGTH_LONG).show(); vv_play.setVideoURI(fileUri); vv_play.requestFocus(); } } }

6、DDMS截图

 

转载于:https://www.cnblogs.com/maoliyy/p/9284847.html

你可能感兴趣的文章
SAP中对于获取订单的状态
查看>>
oracle PL/SQL块
查看>>
sklearn.preprocessing.LabelBinarizer
查看>>
C teaching
查看>>
分隔指定内容,提取章节数
查看>>
this point
查看>>
leetcode 30 Substring with Concatenation of All Words
查看>>
验证登录信息是否合法
查看>>
线程池
查看>>
git版本控制器的基本使用
查看>>
Redis 笔记与总结4 set 和 zset 类型
查看>>
jQuery Ajax 回调函数中调用$(this)的问题 [ 转 ]
查看>>
thymeleaf:字符串拼接+输出单引号
查看>>
springboot:集成fastjson(教训)
查看>>
网络流 Edmons-Karp 算法讲解
查看>>
「NOIP2018模拟9.10」公约数 - 找规律 - gcd
查看>>
使用java理解程序逻辑(15)
查看>>
bzoj 1879 状压dp
查看>>
python 一些特殊用法和坑
查看>>
WIFI密码破解全攻略
查看>>