gpt4 book ai didi

java - onResume 重新开始播放背景音乐不起作用

转载 作者:行者123 更新时间:2023-12-02 11:19:00 27 4
gpt4 key购买 nike

这是我的第一个应用程序,所以这个问题/答案可能非常基本。我目前有 onPause(); ,当玩家离开屏幕时停止播放音乐。我尝试做类似的事情,但使用 onResume,以便再次播放音乐(backgroundMusic)。不幸的是这不起作用。当我按下重置按钮或返回主页并返回游戏页面时,它会再次起作用。但应用程序返回屏幕后它不会立即加载,就像我希望的那样。

我的代码摘录如下;

package com.example.android.buttongame;

...

公共(public)类 MainActivity 扩展 AppCompatActivity {

...

MediaPlayer winningSound;
MediaPlayer buttonSound;
MediaPlayer backgroundMusic;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

/*
Plays ticking background noise at the start of this activity. Set on a loop
*/

backgroundMusic = MediaPlayer.create(this, R.raw.ticking_background);

backgroundMusic.start();
backgroundMusic.setOnErrorListener(new android.media.MediaPlayer.OnErrorListener() {

public boolean onError(MediaPlayer mediaplayer, int i, int j)
{
return false;
}
});
backgroundMusic.setLooping(true);


}

@Override
public void onResume(){
super.onResume();
backgroundMusic.start();
}

public void onPause() {
super.onPause();
backgroundMusic.stop();
}



...

public void reset(View v) {

/*
Plays button sound
*/
buttonSound = MediaPlayer.create(MainActivity.this, R.raw.button_sound);
buttonSound.start();

/*
* Refreshes activity
*/

this.recreate();

}

... public void homePage(查看 View ){

     /*
Stops background music
*/

backgroundMusic.stop();

/*
Plays button sound
*/
buttonSound = MediaPlayer.create(MainActivity.this, R.raw.button_sound);
buttonSound.start();

/*
Leads to home page
*/
Intent homePage = new Intent(this, HomePage.class);
startActivity(homePage);
}

}

最佳答案

backgroundMusic.stop() 的位置,您应该使用 backgroundMusic.pause() 那么您将实现您正在寻找的内容。

调用stop()会停止播放并导致MediaPlayer处于开始暂停状态准备就绪PlaybackCompleted状态进入停止状态。一旦处于 Stopped 状态,在调用 prepare()prepareAsync() 来设置 MediaPlayer 之前,无法开始播放code> 对象再次变为 Prepared 状态。调用 stop() 对已处于 Stopped 状态的 MediaPlayer 对象没有影响。

这里是 MediaPlayer 的文档,可帮助您了解其 APIhttps://developer.android.com/reference/android/media/MediaPlayer

关于java - onResume 重新开始播放背景音乐不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50069425/

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