2011-12-24 93 views
1

我已经尝试覆盖onPause和一切,但即使在主页按钮被按下后,mp3文件仍会继续播放。 我已经记录了onPause方法,它似乎工作,但它不停止媒体播放器。当主页按钮被按下时如何停止mediaplayer

我相信,当home按钮被按下时,我的mediaplayer所在的对象被设置为NULL。无论如何,当主页按钮被按下时停止音乐?

+0

尝试使用onKeyDown(int keyCode,KeyEvent事件)重写keypress操作;不知道,但可能只是帮助 – 2011-12-24 18:20:38

+0

KEY_HOME不能被覆盖 – user870380 2011-12-24 19:06:43

+0

你能提供你的活动的代码?以及您如何使用Mediaplayer? – Yury 2011-12-24 23:50:43

回答

1

User870380是正确的,主键不能被覆盖,并有很好的理由。 MediaPlayer是相当不稳定和错误的,所以看到你的确切代码将非常有用。您的代码可能会是这个样子:

@Override 
protected void onPause() { 
     if (mediaPlayer != null) { 
      mediaPlayer.stop(); 
      mediaPlayer.release(); 
      mediaPlayer = null; 
         } 
} 

您可能还需要进行检查,看它是否抛出IllegalStateException。 MediaPlayer可以做到这一点。很多。

当您尝试停止MediaPlayer时,是否在logcat中发现任何错误?

您是否在服务中运行MediaPlayer?

相关问题