一、录制视频
视频录制的动作为MediaStore.ACTION_VIDEO_CAPTURE。在调用录制视频界面的Intent中必须设置存放视频的文件,放在intent的Extra部分,通过关键字MediaStore.EXTRA_OUTPUT设置文件的Uri。Uri需要根据SDK版本分“file://”和FileProvider两种情况。另外,还需要授予写文件的权限。
下面是打开视频录制界面的具体代码:
File path = new File(getExternalFilesDir(null),"test/"); // 值为Android/data/<package-name>/files/test/
if(!path.exists())path.mkdirs()); // 创建目录
videoFile = new File(path, "video.3gp"); // 目标文件
if(Build.VERSION.SDK_INT>=24){
fileProviderAuthority = getPackageName() + ".fileProvider";
// 格式为:content://com.zzk.a1501systemactivity.fileProvider/testdir/video.3gp,
// testdir是res/file_paths/file_paths.xml中定义的目录别名
videoUri = FileProvider.getUriForFile(MainActivity.this, fileProviderAuthority, videoFile);
} else { // Android 7 以前可以直接在intent中向其他应用分享文件
videoUri &