2011-06-28 303 views
2

我想删除已使用意向以前录制的视频:如何删除使用ACTION_VIDEO_CAPTURE使用意图录制的视频?

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

的方法onActivityResult()得到的录像作为意向数据。我尝试获取录制的文件并将其删除。

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:内容://媒体/外部/视频/媒体/ 177。

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

+0

您是否尝试过将'URI'传递给'File'构造函数?示例...'File file = new File(uri);' – Squonk

+0

是的,但File构造函数需要一个URI而不是Uri。我应该将android.net.Uri转换为java.net.URI。这个问题没有解决在http://stackoverflow.com/questions/559902/android-how-can-i-convert-android-net-uri-object-to-java-net-uri-object。 – jgilrincon

+0

如果我尝试:File file = new File(new java.net.URI(androidUri.toString()));我得到错误:java.lang.IllegalArgumentException:URI中的预期文件模式:content:// media/external/video/media/177。谢谢 – jgilrincon

回答

4

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

+0

非常感谢,它完美的作品! – jgilrincon