我正在尝试使用默认的相机应用程序录制视频。这是传递给相机应用程序的意图。
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent, CAPTURE_VIDEO_REQUEST_CODE);
以下是onResultActivity()
if (resultCode == RESULT_OK) {
String path=data.getData().getPath();
File file=new File(path);
boolean exists=file.exists();
long idMedia = mApp.saveMedia(mFilePath, Type.VIDEO).getId();
}
因此,返回的路径类似于“/ external / video / media / 15”
第一个问题是:/ external目录在哪里?我无法通过adb shell在设备上使用文件浏览器找到它。
第二个问题:布尔存在是假的。为什么呢?
第三个(也是最重要的)问题:如何在sdcard上移动记录在特定目录中的视频?
我尝试使用
传递uri文件intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(videoFile));
但是当我按下录制按钮时相机应用程序卡住了,onResultActivity()
的数据意图仍然指向“/ external / ....”目录。
提前谢谢。
答案 0 :(得分:0)
“/外部/视频/媒体/ 15”
不是绝对路径,而是URI, 您必须使用contentproviders找到绝对路径。 要将其存储在特定路径中,您应该使用
.putExtra(MediaStore.EXTRA_OUTPUT,路径)
在调用相机时的意图