捕获的视频将保存到指定的不同文件夹中

时间:2014-09-16 03:16:57

标签: 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);

我在这里命名文件

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/emulated/0/DCIM/100MEDIA,并且名称为VIDEO0073VIDEO00074等。我尝试将目录名称更改为MOVIES而不是PICTURES }或DCIM,但没有效果。我正在使用运行Android 4.3的HTC One

1 个答案:

答案 0 :(得分:0)

这是包括HTC One在内的某些设备上发生的错误。如果您在声明视频时包含您的代码意图我可以更准确地回答问题,但基本上,在您声明视频的意图(而不是图像)之后,让你的Uri如此:

videoUri = getContentResolver()。insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,new ContentValues());

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