我試圖從ListView播放音樂(它從文件路徑獲取數據)。但每次點擊時,都會出現如下錯誤:MediaPlayer無法播放SD存儲中的音樂
09-14 09:58:42.996 1229-1276 /? W/AudioTrack:被客戶端拒絕的AUDIO_OUTPUT_FLAG_FAST
即使我直接使用文件路徑,它仍然不起作用。 這裏是我的代碼:
private MediaPlayer mMediaPlayer;
private File dir = new File(Environment.getExternalStorageDirectory() + "/MyOwnMusicFolder");
private File[] files;
public void playSong(int position){ //position of the item in the ListView
if(mMediaPlayer !=null) {
if(mMediaPlayer.isPlaying()){
mMediaPlayer.pause();
}
try {
mMediaPlayer.setDataSource(dir + File.separator + files[position].getName());
mMediaPlayer.prepare();
mMediaPlayer.start();
}
catch (IOException e){
//something...
}
}
}
編輯:我使用過Android Studio + Android的工作室模擬器
編輯2:我的MP3文件是完全正常的
做您已經閱讀權限? – MetaSnarf
@MetaSnarf是的,我確實有它 –
你得到你的代碼的一部分做錯誤?請發佈您的堆棧跟蹤 – MetaSnarf