我的应用程序中有一个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的音量从不同的活动更改为创建它的位置?
所有帮助表示赞赏。
答案 0 :(得分:1)
在您的Activity中添加MediaPlayer的静态引用或使用单例类
如果要添加静态引用,请在代码中找到
行 MediaPlayer mp;
并将其更改为:
public static MediaPlayer mp;
然后从您可以调用的任何活动
MainActivity.mp.setVolume(1, 1);