【问题标题】:How to mute the sound of pressing volume keys only in my app on Android?如何仅在我的 Android 应用中静音按音量键的声音?
【发布时间】:2011-01-19 14:39:17
【问题描述】:

我是否应该在 onResume 上静音并使用 AudioManager 将音量级别重新设置为 onPause?

或者还有其他合适的方法吗?

谢谢!

【问题讨论】:

  • 你能再具体一点吗?你要静音哪个音量,STREAM_SYSTEM
  • 我刚刚发现它适用于 STREAM_RING。不确定它是否适用于所有设备。

标签: android audio key volume mute


【解决方案1】:

我认为您的答案在于setStreamMute() 的文档中。

静音命令受到保护 客户进程死亡:如果一个进程 有一个活跃的静音请求 流死了,这个流将是 自动取消静音。

静音 对给定流的请求是 累积:AudioManager 可以 从一个接收多个静音请求 或更多客户,流将是 只有当相同数量的 收到取消静音请求。

对于一个 更好的用户体验,应用 必须取消静音 onPause() 和静音再次进入 onResume() 如果合适的话。

【讨论】:

    【解决方案2】:

    如果有人感兴趣,有一种解决方法可以避免您的应用将所有内容静音。 执行以下操作将使音量键静音,并且通知来电将保持系统中的配置(而不是强制静音)。

    setVolumeControlStream(AudioManager.STREAM_DTMF);
    AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    audioManager.setStreamMute(AudioManager.STREAM_DTMF, true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-15
      • 2012-06-09
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      相关资源
      最近更新 更多