2017-04-01 146 views
0

所以我設置了以下代碼從內部存儲器中選擇一首歌曲並播放它。Mediaplayer沒有打開選定的文件android(setDataSource失敗:狀態= 0x80000000)

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

我onActivityResult:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if(resultCode == RESULT_OK){ 
     Uri uriSound = data.getData(); 

     play(this, uriSound); 
    } 
} 

,最後我的戲方法: 私人無效播放(上下文的背景下,開放的URI){

MediaPlayer mip = new MediaPlayer(); 
    try { 

     mip.setDataSource(context, uri); 
     mip.prepare(); 
     mip.start(); 
    } catch (IllegalArgumentException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (SecurityException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IllegalStateException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

}

但是當我運行這個我不斷收到以下錯誤:

java.io.IOException: setDataSource failed.: status=0x80000000 

我找不到任何地方的工作解決方案。 任何想法?

回答

1

在清單文件中授予讀取外部存儲的權限修復它!

相關問題