如何在 Android 应用程序中合理管理音频音量?

2024-04-21

我有一个应用程序,在其活动打开时播放间歇性声音,用户总是期望它发出这些声音,但不幸的是它受到音乐流音量的限制。我发现的选项是:

  1. 调整音乐流的音量,如果用户当时正在播放音乐,则可能会使用户耳聋。
  2. 如果音乐流的音量为0,则调用MediaPlayer.setVolume()无效。
  3. 自己处理按下音量按钮,这会带来两个问题:除非我的音频正在播放,否则按下音量按钮会调整铃声音量,并且到目前为止,我还无法使用 OnKeyListener 捕获按下音量按钮的 onKey 事件。如果有某种方法可以在我的活动具有焦点时强制将调整应用于音乐流,或者只是让我自己按下按钮,那么这将起作用。
  4. 在后台播放一段无声循环音频,使音乐流保持在上下文中以进行音量调整。

我认为第三个选项可能是最好的,因为它将音量的控制权交给了用户,但是如果有某种方法可以在单个媒体播放器实例中覆盖系统音量,那么也可以。


通过 Google 网上论坛得到了另一个建议,这是我一直在寻找的平台集成解决方案,并且运行良好:

请不要触摸音量键 你自己——这几乎是不可能的 保证你不会破坏 音量键的行为。

在 onCreate() 中调用此 API:

setVolumeControlStream(AudioManager.STREAM_MUSIC);

这告诉 AudioManager 当 您的应用程序具有焦点、音量 键应该调节音乐音量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 应用程序中合理管理音频音量? 的相关文章

随机推荐