应用程序有7-8个活动,所以我创建了一个应用程序,在所有这些活动上都有一些背景音乐。
private void playAudio() {
mMediaPlayer = MediaPlayer.create(this, R.raw.test_cbr);
mMediaPlayer.start();
mMediaPlayer.setLooping(true);
}
无论如何,我想在其他活动中停止这个背景音乐,并开始一个新的。所以这里我们讨论的是不同的类。
如何做到这一点?
不管怎样,当我按下Home键或back键时,音乐还在播放吗?如何解决这个问题?
提前谢谢。:)
编辑:
有了这些代码,当我按下后退按钮时,我设法停止了音乐。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
finish();
Music.stop(this);
return true;
}
return super.onKeyDown(keyCode, event);
发布于 2011-10-26 18:16:37
Anyway when I press home, or back button music still plays? How to solve that problem?
调用onPause()
时处理媒体播放器实例
protected void onPause() {
mMediaPlayer.pause();
}
对于您的主要问题:background music in application, across Activities
,创建一个Service
,它将完成这项工作。
或者引用一些已经存在的讨论:Playing BG Music Across Activities in Android
发布于 2011-10-26 18:17:39
创建一个控制媒体播放器的静态singelton类,您可以在每个活动中停止和启动它。为了停止音乐,你可以在onPause上停止它,然后在onResume中重新启动。
https://stackoverflow.com/questions/7901286
复制相似问题