今天写音乐播放器时遇到了这个错误。第一次点击ListView中的一首歌,可以正常播放,再次点击其他歌就出现了这个错误。
在网上查找后,知道有两种原因:1.重新start之前没有prepare;2.MediaPlayer对象创建太多了。我不属于第一种,但感觉第二种也不太符合(毕竟我只有一个mediaPlayer…),然后想是不是因为之前已经给了mediaPlayer一个DataSource,发生了冲突,重新new了一下mediaPlayer之后,终于成功了。
try {
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
File file=new File(current_music.getUrl());
mediaPlayer=new MediaPlayer();
mediaPlayer.setDataSource(file.getPath());
mediaPlayer.prepare();
btn_play.setBackgroundResource(R.drawable.pause_g);
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}