在播放音乐播放器暂停的时候,通常需要调用stop方法,通常是如下操作
mMediaPlayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){
@Override
publicvoidonCompletion(MediaPlayermp){
mMediaPlayer.stop();
}});
在实际运行时候,如果这样 操作会报如标题所示错误,原因是java里面的mediaplayer对象的状态和native的对象状态不一致,mediaplayer的isPlaying方法引起的,修改后如下:
mMediaPlayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){
@Override
publicvoidonCompletion(MediaPlayermp){
if(mMediaPlayer.isPlaying()){
mMediaPlayer.stop();
}}});