应用程序有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);
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
,它将完成工作。
或参考一些已经存在的讨论:在Android中跨活动播放BG音乐
创建一个静态单元素类来控制你的媒体播放器,你可以在每个活动中停止和启动它。要停止音乐,可以在onPause中停止,在onResume中重新开始。