0

アプリケーションにギャラリーからビデオを選択してもらいたい。次のコードを使用してパスを取得します。

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.mp4MediaMetaDataRetriever

4

1 に答える 1

0

あなたの場合、(私があなたの質問を理解しているように)

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

この関数を使用して、URIから実際のパスを取得します。

働き:

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();
        }
    }
于 2012-06-14T11:19:25.523 に答える