2012-06-14 4 views
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이지만 MediaMetaDataRetriever을 사용하여 비디오를로드하려면 /sdcard/DCIM/a.mp4과 같아야합니다. 그렇게하는 방법 ?

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

사용 (난 당신의 질문을 이해 것처럼),이 기능은 열린 우리당에서 실제 경로를 얻을 수 귀하의 경우에는

답변

0

..

기능 :

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(); 
     } 
    } 
관련 문제