博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android调用系统照相机拍摄视频并将其拷贝到制定的文件夹下
阅读量:6222 次
发布时间:2019-06-21

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

hot3.png

通过调用系统照相机拍摄视频并将其复制到指定的文件夹下。

 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

//0为匹配的标示符,和返回的requestCode对应。

 startActivityForResult(intent, 0);

@Override    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {        super.onActivityResult(requestCode, resultCode, intent);        Log.i(RecordActivity.this.toString(), "录制结果" + "requestCode:" + requestCode + ", " +                "" + "resultCode:" + resultCode + ", data:" + intent.toString() + intent.getData().toString());        //如果返回的request代码和startActivityForResult的代码不匹配或录制取消则直接返回        if(requestCode != 0){            return ;        }else if(resultCode != -1){            return;        }        //通过Uri获取文件的绝对地址        Uri uri = intent.getData();        Cursor cursor = this.getContentResolver().query(uri, null, null,                null, null);        String filePath = null;        if (cursor != null && cursor.moveToNext()) {            int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.VideoColumns._ID));            filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DATA));            cursor.close();        }        //将文件拷贝到制定的文件夹下        if(null != filePath){            File tmpFile = new File(filePath);            String fileSuffix = filePath.substring(filePath.lastIndexOf("."));            if(tmpFile.exists()){                String localPath = UserAccount.getInstance().getLocalDir("video/")+nameEdit.getText()+fileSuffix;                File localFile = new File(localPath);                tmpFile.renameTo(localFile);                tmpFile.delete();                Log.i(RecordActivity.this.toString(), "文件地址"+filePath+localFile.getAbsolutePath());            }        }    }

转载于:https://my.oschina.net/u/266531/blog/281124

你可能感兴趣的文章
关于telnet协议的研究以及用java进行封装实现自己的telnet客户端(转)
查看>>
jQuery 效果 - 淡入淡出
查看>>
cachefiled
查看>>
oncopy和onpaste
查看>>
栈和堆之间的差
查看>>
net-snmp-5.7.3配置编译安装
查看>>
Visual Studio跨平台开发(1):Hello Xamarin!
查看>>
全新E:网站不是之前排名浮动 相比于竞争对手究竟缺少了什么?
查看>>
Json解析
查看>>
【Git使用】强制推送代码到多个远程仓库
查看>>
iis 更改asp.net 版本设置
查看>>
JS疑难点和GC原理
查看>>
用Mediawiki做百科网站资源大参考
查看>>
MVC 返回对象换成json
查看>>
springMVC文件上传
查看>>
RTP 记录 log 该机制
查看>>
【转】七个例子帮你更好地理解 CPU 缓存
查看>>
产品分类的多级搜索
查看>>
浅谈hbase表中数据导出导入(也就是备份)
查看>>
ES6+ 现在就用系列(二):let 命令
查看>>