如何存储特定路径中录制的视频

时间:2013-01-21 11:28:02

标签: android video path recording

我正在尝试使用默认的相机应用程序录制视频。这是传递给相机应用程序的意图。

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 / ....”目录。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

  

“/外部/视频/媒体/ 15”

不是绝对路径,而是URI, 您必须使用contentproviders找到绝对路径。 要将其存储在特定路径中,您应该使用

  

.putExtra(MediaStore.EXTRA_OUTPUT,路径)

在调用相机时的意图