gpt4 book ai didi

android - 在我的所有 Activity 中播放背景音乐,仅在我的应用未显示时才停止播放

转载 作者:行者123 更新时间:2023-11-29 00:32:39 25 4
gpt4 key购买 nike

我尝试了数百万种方式,但无论哪种方式,当我按下手机的主屏幕按钮时,音乐都会继续播放。我最后一次尝试使用应用程序,但我仍然遇到同样的问题。

这是我的代码。

public class ProvaMusica extends Application {
Intent musica_backGround;
public Background_music musicaDiBackground = new Background_music();

public void avvia(){
//this is the class where i manage mediaplayer//////////
musica_backGround=new Intent(this, Background_music.class);
startService(musica_backGround);
}


public void onDestroy(){
stopService(musica_backGround);
}

}

在我的第一个 Activity 中,我使用此代码启动音乐

 ProvaMusica appState = ((ProvaMusica)this.getApplication());
appState.avvia();

现在,我应该怎么做才能让音乐在显示其他 Activity 时播放,而在我的应用未显示时让音乐停止?

我希望音乐在从一项 Activity 转到另一项 Activity 时继续播放,我不想在新 Activity 开始时停止音乐然后重新开始。

最佳答案

我这样做的方式是:

  1. 我有一个单例类,它是 SoundManager。
  2. 在 onPause 时,每个 Activity 都会调用 soundManager.stopPlayingDelayed。此方法启动一个计时器,该计时器将在 1 或 2 秒内调用 soundManager.checkIfShouldStop。它还将 lastCloseTime 保存到当前时间。
  3. onResume 上的每个 Activity 都会调用 soundManager.startPlaying。如果已经播放声音管理器将忽略该请求。这也清除了 lastCloseTime
  4. 在 checkIfShouldStop 中,如果 lastCloseTime 不为零且超过 1 秒,则表示在上一个 Activity 结束后,我的应用程序没有启动新 Activity ,因此应停止音乐。

关于android - 在我的所有 Activity 中播放背景音乐,仅在我的应用未显示时才停止播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14479410/

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