Java 更改Android中由音量按钮控制的默认音频流
对于问题的标题,我很抱歉,但我不确定这个特定的android功能叫什么Java 更改Android中由音量按钮控制的默认音频流,java,android,audio,android-audiomanager,Java,Android,Audio,Android Audiomanager,对于问题的标题,我很抱歉,但我不确定这个特定的android功能叫什么 这是我按下音量按钮时应用程序的屏幕截图 我们可以看到电话符号在顶部,这意味着它的音量由音量按钮控制 但是,我正在平板电脑(不是手机)上测试,因此更改此音量对扬声器输出没有影响 我要做的是将音量按钮映射到此处显示的第二个扬声器图标,从而更改扬声器输出音量 如何设置平板电脑的音量按钮以映射到此输出流(或此功能的任何名称)? 我试过了 am.setMode(AudioManager.MODE_正常) 和 am.setMode(A
这是我按下音量按钮时应用程序的屏幕截图
我们可以看到电话符号在顶部,这意味着它的音量由音量按钮控制
但是,我正在平板电脑(不是手机)上测试,因此更改此音量对扬声器输出没有影响
我要做的是将音量按钮映射到此处显示的第二个扬声器图标,从而更改扬声器输出音量
如何设置平板电脑的音量按钮以映射到此输出流(或此功能的任何名称)?
我试过了
am.setMode(AudioManager.MODE_正常)代码>
和
am.setMode(AudioManager.MODE\u IN\u通信)代码>
其中am是一个音频管理器
,但两者似乎具有相同的输出,活动
类有一个方法:
建议通过硬件音量控制更改其音量的音频流
当你的应用程序在前台时,用你希望硬件按钮修改音量的流类型调用它(例如,stream\u MUSIC
),然后当你想将行为重置为默认值时,用USE\u DEFAULT\u stream\u type
调用它
顺便说一下,扬声器图标并不代表扬声器的音量。至少在我上次检查时,它表示媒体卷(即遵循媒体路由策略的所有流,例如STREAM\u MUSIC
)。这应该在onCreate()中调用?如果这是控制音量的因素,那么AudioManager的用途是什么?因此我应该用v
at onCreate()或onResume()调用它,然后用use\u DEFAULT\u STREAM\u TYPE
at onPause()调用它。我用setVolumeControlStream(AudioManager.STREAM\u MUSIC)在onCreate()
和setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE)中的code>
在onResume()
中,但在启动活动时,它仍在执行相同的操作onResume
onCreate
。您应该调用setVolumeControlStream(使用默认的流类型)
,这样当您不再需要覆盖修改的卷时,就会调用它;它(主要)用于获取和设置系统范围的音频设置。使用setVolumeControlStream
设置的行为覆盖是特定于活动的。