如何在进入后台时将 Android 应用程序静音

How to mute an Android application when it goes into the background

我一直在尝试开发一个在 android studio 中有一些背景音乐的应用程序,当我最小化 application/closed application/put 应用程序时,背景音乐很奇怪一直在玩。我的意图是应用程序在不可见时不发出任何声音。

有什么方法可以让应用程序在进入后台时完全静音?目前所有声音都是使用 SoundPool 完成的。

到目前为止我还没有尝试太多,因为我找不到关于我正在尝试做的事情的有用信息。

SoundPoolpause and resume 个函数。您可以根据需要调用这些函数以响应 activity 生命周期事件。

也就是说,SoundPool 可能不是音乐的最佳选择。至少据我所知,它将您加载的声音解码为原始音频数据,这对于音乐曲目来说可能相当大。根据您的具体操作,MediaPlayer or ExoPlayer 可能是更好的选择。

使用生命周期方法暂停恢复背景歌曲

@Override 
  protected void onPause() { 
     super.onPause();
     // pause your soundpool here 
  }

然后在 onResume

@Override
  protected void onResume() {
      super.onResume();
      //resume that background song again
  }