gpt4 book ai didi

java - 如何使用 Service 或 MediaPlayer 在我的应用程序中播放背景音乐?

转载 作者:行者123 更新时间:2023-12-02 04:55:45 25 4
gpt4 key购买 nike

我的应用程序有 3 个 Activity,名为“MainActivity”、“LevelActivity”和“GameActivity”。现在我想在MainActivity和LevelActivity中播放BGM。当我从 Main 跳转到 Level 时,我不希望音乐从头开始。所以我用Service来播放BGM。

但问题是,如果我不重写 MainActivity 中的 onStop(),那么在我单击“HOME”按钮后,BGM 仍在播放。但是如果我在MainActivity中重写onStop(),当我从Main跳转到Level时BGM就会停止。

public class MusicService extends Service {
private MediaPlayer mediaPlayer;
@Override
public void onCreate() {
// my codes...
}
@Override
public void onStart(Intent intent, int startId) {
// my codes...
}
@Override
public void onDestroy() {
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
}
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}

按“HOME”时如何停止 BGM?

谢谢。

最佳答案

您可以通过添加一个 boolean 变量来实现一个技巧。

1- 创建一个 boolean 变量 isAppStillRunning = false

2-然后,当您想要启动关卡 Activity 时,请在 startActivity() 之前设置 isAppStillRunning = true

3-每当您返回 MainActivity 时,请执行 isAppStillRunning = false

现在在 MainActivityonStop() 中,

if(!isAppStillRunning){
//do the proccess to stop music
}

关于java - 如何使用 Service 或 MediaPlayer 在我的应用程序中播放背景音乐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56412068/

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