我正在使用意图启动相机应用程序的应用程序中工作;相机以图片或视频模式启动,到目前为止它工作并将生成的文件保存在SD卡中。现在的问题是,虽然指定一个新的自定义文件名适用于图片意图,但它似乎不适用于摄像机意图;实际上,EXTRA_OUTPUT或者简单地“输出”似乎在视频意图中被忽略。我使用以下代码:Android自定义视频捕捉文件路径不起作用
对于图片(所有的作品不知道,包括节约使用自定义文件名PIC)
// makes new unique filenames like Picture_03161185528.jpg
fileName = makeFileName("Picture")+".jpg";
path = (new StringBuilder()).
append(Environment.getExternalStorageDirectory()).
append("/"+fileName).toString();
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("output", outputFileUri);
mainActivity.startActivityForResult(intent, CAMERA_RESULT);
对于视频(需要视频,但总是用默认的名称像VIDEO001,VIDEO002等,而不是自定义文件名,我需要)
// makes new unique filenames like Video_03161185528.3gp
fileName = makeFileName("Video")+".3gp";
// even tried this hardwired filename...but nothing
fileName = "video.3gp";
path = (new StringBuilder()).
append(Environment.getExternalStorageDirectory()).
append("/"+fileName).toString();
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// seems to be ignored, the file always get saved under default filename
intent.putExtra("output", outputFileUri);
// same as previous line...seems to be ignored
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
mainActivity.startActivityForResult(intent, VIDEO_RESULT);
在任何情况下,画面意图节省我的自定义文件名的画面,但视频目的显然忽略它,总是使用保存文件默认的文件名。我的问题是:
a)有什么办法可以使用自定义文件名进行这项工作吗? b)或者有什么方法可以正确地知道下一个可用的默认文件名? c)或者有任何其他方式知道哪个文件被创建并重命名它?
欢呼声,谢谢!
亚兰
您是否找到解决此问题的方法? – Mohit