【问题标题】:How to delete a video recorded using an Intent with ACTION_VIDEO_CAPTURE?如何删除使用带有 ACTION_VIDEO_CAPTURE 的 Intent 录制的视频?
【发布时间】:2011-06-28 21:48:20
【问题描述】:

我想删除之前使用 Intent 录制的视频:

Intent captureVideoIntent = new Intent(
                  android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(captureVideoIntent, VIDEO_CAPTURED);

onActivityResult() 方法获取录制的视频作为 Intent 数据。我尝试获取录制的文件并删除它。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Code for modify and copy the video
    try {
            Uri androidUri = data.getData();
            File file = new File(new java.net.URI(androidUri.toString()));
            file.delete();
    } catch (Exception e) {
            e.printStackTrace();
    }
}

但我得到了错误:

java.lang.IllegalArgumentException:URI 中的预期文件方案:content://media/external/video/media/177。

有人知道如何获取录制视频的路径并移动或删除它吗?

【问题讨论】:

  • 您是否尝试过将URI 传递给File 构造函数?示例...File file = new File(uri);
  • 是的,但是 File 构造函数需要一个 URI 而不是 Uri。我应该将 android.net.Uri 转换为 java.net.URI。这个问题在stackoverflow.com/questions/559902/…中没有解决。
  • 如果我尝试: File file = new File(new java.net.URI(androidUri.toString()));我收到错误: java.lang.IllegalArgumentException: Expected file scheme in URI: content://media/external/video/media/177 。谢谢

标签: android android-intent video uri


【解决方案1】:

This answer 有如何从内容 URI 获取路径。您应该能够将其结果传递给File 构造函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多