【发布时间】:2015-09-14 13:45:21
【问题描述】:
我正在尝试从 ListView 播放音乐(从文件路径获取数据)。但是每次点击都会出现这样的错误:
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 Studio Emulator
编辑2:我的mp3文件完全正常
【问题讨论】:
-
你有读取权限吗?
-
@MetaSnarf 是的,我有它
-
代码的哪一部分出现错误?请发布您的堆栈跟踪
-
@MetaSnarf 当我单击该项目(这意味着歌曲)时,歌曲无法播放,并收到错误“AUDIO_OUTPUT_FLAG_FAST 被客户端拒绝”。如果我知道是哪一部分,我就不会问这个问题了!
标签: android media-player android-mediaplayer android-sdcard