0

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

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

先感谢您。

4

1 回答 1

0

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

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

.putExtra(MediaStore.EXTRA_OUTPUT,路径)

在调用相机时有意

于 2013-01-21T12:08:08.017 回答