0

应用程序有 7-8 个活动,所以我在所有这些活动上创建了一个带有一些背景音乐的应用程序。

    private void playAudio() {
        mMediaPlayer = MediaPlayer.create(this, R.raw.test_cbr);
        mMediaPlayer.start();
        mMediaPlayer.setLooping(true);
    }

无论如何,我想在其他活动中停止这个背景音乐并开始新的。所以在这里我们讨论的是不同的类。

怎么做?

无论如何,当我按主页时,或者后退按钮音乐仍然播放?如何解决这个问题?

提前致谢。:)

编辑:

使用这些代码,当我按下 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);
4

2 回答 2

0

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-26T10:16:36.603 回答
0

制作一个控制媒体播放器的静态单例类,您可以在每个活动中停止和启动它。要停止音乐,您可以在 onPause 上停止它并在 onResume 中重新启动。

于 2011-10-26T10:17:39.133 回答