设置AudioAttributes卷

时间:2015-06-30 17:14:29

标签: notifications android-5.0-lollipop volume android-audiomanager

非常长时间搜索通过耳机播放通知噪音 的方式(插入时)后,在与{{1}分开的流上Android以一种可以打断并完全听到任何背景音乐的方式,最终推出了AudioAttributes API。通过使用以下代码,我能够实现我想要的通知,至少在API 21或更高版本中(STREAM_MUSIC是我为较低版本找到的最佳选择):

STREAM_MUSIC

不幸的是,似乎没有办法在我的应用程序设置中调整声波化的音量。我目前以下列方式使用AudioAttributes audioAttributes = new AudioAttributes.Builder() .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION) .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) .build(); ,但它只允许对流进行音量调整,而不允许对AudioManagerSTREAM_ALARMSTREAM_NOTIFICATIONSTREAM_RING进行调整适用于任何用于超声处理的路由策略:

STREAM_MUSIC

有没有人对如何设置与audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, originalVolume, 0); 输出相对应的音量有任何建议?请注意,音频实际上是用于实际通知的AudioAttributes,而音频设置只会在某些设置BroadcastReceiver中指定。

1 个答案:

答案 0 :(得分:4)

好吧,我似乎错过了API文档中的关键表: https://source.android.com/devices/audio/attributes.html

似乎STREAM_SYSTEM相当于我尝试用AudioAttributes做的事情。基本上,使用我上面的代码对于API 21和转发就足够了,使用STREAM_SYSTEM可以完成AudioManager和21之前的API所需的一切。