Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Notifications 设置音频属性音量_Notifications_Android 5.0 Lollipop_Volume_Android Audiomanager - Fatal编程技术网

Notifications 设置音频属性音量

Notifications 设置音频属性音量,notifications,android-5.0-lollipop,volume,android-audiomanager,Notifications,Android 5.0 Lollipop,Volume,Android Audiomanager,经过很长一段时间的探索,Android终于推出了AudioAttributes API,它可以通过耳机(插入耳机时)在与stream_MUSIC不同的流中播放通知噪音,并且可以在任何背景音乐中中断并完全听得见。通过使用以下代码,我能够准确地实现我想要的通知,至少在API 21或更高版本中(STREAM_MUSIC是我发现的适用于较低版本的最佳选择): 不幸的是,在我的应用程序设置中,似乎没有任何方法可以调整声音的音量。我目前以以下方式使用AudioManager,但它只允许对流进行音量调整,并且

经过很长一段时间的探索,Android终于推出了AudioAttributes API,它可以通过耳机(插入耳机时)在与
stream_MUSIC
不同的流中播放通知噪音,并且可以在任何背景音乐中中断并完全听得见。通过使用以下代码,我能够准确地实现我想要的通知,至少在API 21或更高版本中(
STREAM_MUSIC
是我发现的适用于较低版本的最佳选择):

不幸的是,在我的应用程序设置中,似乎没有任何方法可以调整声音的音量。我目前以以下方式使用
AudioManager
,但它只允许对流进行音量调整,并且
STREAM\u ALARM
STREAM\u NOTIFICATION
STREAM\u RING
STREAM\u MUSIC
均不适用于任何用于声音化的路由策略:

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, originalVolume, 0);

有人对如何设置与
AudioAttributes
输出相对应的音量有什么建议吗?请记住,音频实际上是在用于实际通知的
BroadcastReceiver
中播放的,并且音频设置将仅在一些设置
活动中指定

似乎
STREAM\u系统
相当于我试图用
AudioAttributes
做的事情。基本上,使用我上面的代码就足以支持API 21及其后续版本,而使用
STREAM_系统
可以为
AudioManager
和API 21之前的版本提供一切必要的功能

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, originalVolume, 0);