【问题标题】:How to mute an Android application when it goes into the background如何在 Android 应用程序进入后台时静音
【发布时间】:2020-12-10 00:53:50
【问题描述】:

我一直在尝试在 android studio 中开发一个有一些背景音乐的应用程序,当我最小化应用程序/关闭应用程序/将应用程序放在后台时,音乐奇怪地一直在播放。我的意图是应用程序在不可见时不会发出任何声音。

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

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

【问题讨论】:

    标签: android audio soundpool


    【解决方案1】:

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

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

    然后 onResume

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

    【讨论】:

    • 为了避免可能的混淆,我会指出语言在这里并不重要。解决方案在 Java 或 Kotlin 中是相同的,只是语法略有不同。
    • 如果我的回答对你有帮助,请点赞@Yartarus
    【解决方案2】:

    SoundPool 具有pauseresume 函数。您可以根据活动生命周期事件调用这些函数。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      相关资源
      最近更新 更多