您好我正在开发一个使用camera2 API的应用。我使用了Google提供的Caemra2Video示例,在修改过程中我更改了文件存储目录。 原始代码是这样的:
mMediaRecorder.setOutputFile(getVideoFile(activity).getAbsolutePath());
...
private File getVideoFile(Context context) {
return new File(context.getExternalFilesDir(null), "video.mp4");
}
我用这种方式改变了它:
private File getVideoFile(Context context) {
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "camera2Video");
if (! mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
Log.d(TAG, "failed to create directory");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File videoFile;
videoFile = new File(mediaStorageDir.getPath() + File.separator +
"VID_"+ timeStamp + ".mp4");
return videoFile;
}
如果我录制视频,确实文件夹中的文件名正确。但是,每当我打开应用程序并启动相机活动时,都会生成一个.mp4文件(无论我是否实际录制视频),大小为0.如何修改它以避免这种情况?谢谢!