2013-10-15 1 views
0

내가 선택한 실제 오디오 파일을 처리하고 싶습니다. 그것은 내가하지만 어떻게 내가 포착 한 파일을 얻을 수있는 오디오 파일을 선택하는 팝업을 얻을 수 있습니다사용자가 선택한 오디오 파일을 얻는 방법

Intent audioIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(audioIntent , 0); 

: 오디오 파일을 선택하는 경우, 나는이처럼 보이는 의도가? 이미지의 경우

, 내가 가지고 : 오디오 파일에 대한 비슷한 일이

bitmap = android.provider.MediaStore.Images.Media.getBitmap(getContentResolver(), intent.getData()); 

있습니까?

답변

4
Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(galleryIntent, AUDIO_GALLERY_REQUEST_CODE); 

if (requestCode == AUDIO_GALLERY_REQUEST_CODE) { 
    if (resultCode == Activity.RESULT_OK) { 
     try { 
      String path = _getRealPathFromURI(context, intent.getData()); 
      File audio = new File(path); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

private String _getRealPathFromURI(Context context, Uri contentUri) { 
    String[] proj = { MediaStore.Audio.Media.DATA }; 
    CursorLoader loader = new CursorLoader(context, contentUri, proj, null, null, null); 
    Cursor cursor = loader.loadInBackground(); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 
+0

주 : '위의 코드에서 intent'이 공개 무효하여 onActivityResult (INT의 requestCode가, INT의의 resultCode, 의도 의도)'에서와 같은 인 텐트 데이터입니다' –

+0

차가운 ... 그것은 나에게 도움이 : D : D (Y) 고마워 !!!!!! –

0

android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI에 대해서도 비슷한 방법이 있어야하며 getContentUri(String)Uri 개체를 반환합니다. 도움이되는지 확인하십시오.

Link to Android reference

관련 문제