gpt4 book ai didi

android - 如何设置安卓背景音乐只播放一次

转载 作者:行者123 更新时间:2023-11-29 01:15:24 26 4
gpt4 key购买 nike

我正在创建一个游戏,我只想为一个 Activity 播放背景音乐(对于游戏的主菜单),我的代码如下所示,问题是音乐播放了不止一次,我想播放 Activity 恢复时也会播放相同的音乐。

public class Menu extends Activity {
MediaPlayer mp
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
mp = MediaPlayer.create(Menu.this, R.raw.adalante);
if(!mp.isPlaying()) {
mp.start();
}
public void play(View ButtonClicked) {
mp.stop();
mp.release();
//mp = MediaPlayer.create(Menu.this, R.raw.l);
//mp.start();
goToActivity(Game.class);
}
@Override
public void onResume() {
super.onResume(); // Always call the superclass method first
//coins
coin.setText(data.getString("coin"));
mp = MediaPlayer.create(Menu.this, R.raw.adalante);
if(!mp.isPlaying()) {

mp.start();
}

//mps.release();

}

最佳答案

在您的 onResume 中不要一次又一次地初始化 MediaPlayer。每次您进入 onResume 时,它​​都会创建新实例。所以像这样在 onResume 中添加一个检查:

@Override
protected void onResume() {
super.onResume();
if (mp==null)
mp=MediaPlayer.create(MainActivity.this,R.raw.adalante);

if (!mp.isPlaying())
mp.start();
}

另外添加这个以防止在 Activity 进入 onPause 时播放

@Override
protected void onPause() {
super.onPause();
mp.pause();
}

关于android - 如何设置安卓背景音乐只播放一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40072249/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com