android 播放音乐 MediaPlayer.prepare();报错。点击多次后才崩溃
/**
* 播放音乐
* @param path
*/
public void play(String path){
if(mediaPlayer!=null){
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
报错:
FATAL EXCEPTION: main
Process: cn.com.mymusic, PID: 11807
java.lang.IllegalStateException
at android.media.MediaPlayer._prepare(Native Method)
at android.media.MediaPlayer.prepare(MediaPlayer.java:1143)
at cn.com.mymusic.MusicService.play(MusicService.java:101)
why not use 'mediaPlayer.prepareAsync()',then you can setup the callback just like this:
it worked fine to me ,i hope it can help you ~