如何在不同的活动中更改MediaPlayer卷

时间:2014-09-02 17:42:47

标签: java android android-mediaplayer

我的应用程序中有一个MediaPlayer,它开始在主菜单上播放,而活动始终是打开的。它使用以下代码创建:

mp = MediaPlayer.create(MainActivity.this, R.raw.relaxedmusic);
    mp.start();
    mp.setVolume(1, 1);
    mp.setLooping(true);  

MediaPlayer,“mp”,在新活动打开和关闭时继续播放,并使用以下代码静音:

public void onPause() {
    super.onPause();
    if (musicThroughActivity == 1) {
        mp.setVolume(1, 1);
    } else if (musicThroughActivity == 0) {
        mp.setVolume(0, 0);
    }

}

public void onStop() {
    super.onStop();
    if (musicThroughActivity == 1) {
        mp.setVolume(1, 1);
    } else if (musicThroughActivity == 0) {
        mp.setVolume(0, 0);
    }

}  

但是,如果用户从另一个活动退出应用程序(例如,打开项目1的活动打开的主页按钮),音乐将继续播放。有没有办法将MediaPlayer的音量从不同的活动更改为创建它的位置?

所有帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

在您的Activity中添加MediaPlayer的静态引用或使用单例类

如果要添加静态引用,请在代码中找到

 MediaPlayer mp; 

并将其更改为:

public static MediaPlayer mp;

然后从您可以调用的任何活动

 MainActivity.mp.setVolume(1, 1);