Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 捕获的视频保存到与指定文件夹不同的文件夹_Android_Android Camera_Android Camera Intent - Fatal编程技术网

Android 捕获的视频保存到与指定文件夹不同的文件夹

Android 捕获的视频保存到与指定文件夹不同的文件夹,android,android-camera,android-camera-intent,Android,Android Camera,Android Camera Intent,我正在制作一个应用程序,让您可以在发送前捕获照片/视频,或选择现有照片/视频。我在这里设置了保存文件的目录: String appName = Main.this.getString(R.string.app_name); File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES), appName); 我把这些文件命

我正在制作一个应用程序,让您可以在发送前捕获照片/视频,或选择现有照片/视频。我在这里设置了保存文件的目录:

String appName = Main.this.getString(R.string.app_name);
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory
        (Environment.DIRECTORY_PICTURES), appName);
我把这些文件命名在这里

File mediaFile;
Date now = new Date();
String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(now);
String path = mediaStorageDir.getPath() + File.separator;
if(mediaType == MEDIA_TYPE_PHOTO){
    mediaFile = new File(path + "IMG_" + timestamp + ".jpg");
} else if(mediaType==MEDIA_TYPE_VIDEO){
    mediaFile = new File(path + "VID_" + timestamp + ".mp4");
}

因此,它将我的图片保存在/storage/emulated/0/pictures/app name下,并使用正确的时间戳格式。但是,我的视频正在保存到/storage/simulated/0/DCIM/100MEDIA,并被命名为VIDEO0073、VIDEO00074等。我尝试将目录名更改为MOVIES,而不是PICTURES或DCIM,但没有效果。我使用的是运行安卓4.3的HTC One,这是一个发生在包括HTC One在内的某些设备上的错误。如果在声明视频意图的地方包含代码,我可以更准确地回答问题,但基本上,在声明视频意图而非图像后,获取Uri如下:

videoUri=getContentResolver.insertMediaStore.Video.Media.EXTERNAL\u CONTENT\u URI,新的ContentValue


在这种情况下,视频将保存在/storage/simulated/0/video文件夹中,而不是您上面提到的图片或dcim文件夹中。

是否使用?您是否指定了MediaStore.EXTRA_输出?是和是,用于图片和视频捕获,但正如我所说,只有图片以正确的格式保存在正确的目录中。