无法获得正确的视频路径

时间:2012-06-14 11:15:01

标签: android video media

我希望我的应用程序从图库中选择一个视频。它使用以下代码来获取路径。

Intent i = new Intent(Intent.ACTION_GET_CONTENT); 
i.setType("video/*"); 
startActivityForResult(i,2); 

然后

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 // TODO Auto-generated method stub

  if(resultCode==RESULT_OK){

      str = data.getData().getPath();
   //this.go();
      this.ko();
  }
 }

str存储路径。对于测试运行,其值为/external/video/media/10,但使用/sdcard/DCIM/a.mp4加载视频应该类似于MediaMetaDataRetriever。怎么做?

1 个答案:

答案 0 :(得分:0)

在你的情况下,(据我所知你的问题)

if(resultCode==RESULT_OK){
      str = getRealPathFromURI(data.getData());
   //this.go();
      this.ko();
  }

使用此函数从Uri获取Real路径。

功能:

public String getRealPathFromURI(Uri contentUri)
    {
        try
        {
            String[] proj = {MediaStore.Video.Media.DATA};
            Cursor cursor = managedQuery(contentUri, proj, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        }
        catch (Exception e)
        {
            return contentUri.getPath();
        }
    }