gpt4 book ai didi

即使媒体音量为 0,Android 也会播放声音

转载 作者:行者123 更新时间:2023-11-29 21:12:22 27 4
gpt4 key购买 nike

即使设备的媒体音量为 0,我也想用 AudioTrack 播放音乐。在我的应用程序中,我想要一个用于媒体音量的 SeekBar(如果其他音乐在后台运行),另一个 SeekBar 用于我的应用程序的音乐。

到目前为止,我可以更改媒体音量。但是我的应用程序的音乐也没有声音..

我该怎么做?

最佳答案

我认为Android中有六种不同的声音流可以播放不同类型的声音

创建可预测的音频体验的第一步是了解您的应用将使用哪个音频流。

Android 维护一个单独的音频流用于播放音乐,警报器,通知,来电铃声,系统声音,通话音量,和 DTMF 音调。 这样做主要是为了允许用户独立控制每个流的音量。

Use Hardware Volume Keys to Control Your App’s Audio Volume

默认情况下,按下音量控制可修改 Activity 音频流的音量。如果您的应用当前没有播放任何内容,请按音量键调整铃声音量。

如果您有一款游戏或音乐应用,那么很有可能当用户按下音量键时他们想要控制游戏或音乐的音量,即使他们目前正在歌曲之间或没有音乐在当前游戏位置。

您可能会想尝试聆听音量键按下并以这种方式修改音频流的音量。抵制这种冲动。 Android 提供方便的 setVolumeControlStream() 方法将音量键按下定向到您指定的音频流。

确定您的应用程序将使用的音频流后,您应该将其设置为音量流目标。您应该在应用程序生命周期的早期进行此调用——因为您只需要在 Activity 生命周期中调用一次,您通常应该在 onCreate() 方法(控制媒体的 Activity 或 Fragment 的)中调用它。这可确保只要您的应用可见,音量控件就会按用户期望的方式运行。

setVolumeControlStream(AudioManager.STREAM_MUSIC);

从此时开始,只要目标 Activity 或 fragment 可见,按下设备上的音量键就会影响您指定的音频流(在本例中为“音乐”)。

关于即使媒体音量为 0,Android 也会播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410242/

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