Java 选择要在音量键按下时更改的音量频道
在安卓系统中,通常有3个用户感兴趣的音量通道:音乐/媒体、铃声和闹钟。通常,按下硬件音量按钮时,会设置铃声音量,并相应显示一个带有seekbar的对话框Java 选择要在音量键按下时更改的音量频道,java,android,Java,Android,在安卓系统中,通常有3个用户感兴趣的音量通道:音乐/媒体、铃声和闹钟。通常,按下硬件音量按钮时,会设置铃声音量,并相应显示一个带有seekbar的对话框 但如果我打开音乐应用程序并按下音量按钮,媒体音量频道就会设置好(seekbar对话框上会显示一个扬声器图标,而不是手机)。我现在的问题是,如何为使用媒体频道音量控制而不是铃声频道的应用程序设置音量?这有开关吗?还是我必须手动操作(捕捉音量按钮的敲击声)?在谷歌搜索之后,我自己找到了答案 您可以调用活动的onCreate方法。下面的例子 @Ove
但如果我打开音乐应用程序并按下音量按钮,媒体音量频道就会设置好(seekbar对话框上会显示一个扬声器图标,而不是手机)。我现在的问题是,如何为使用媒体频道音量控制而不是铃声频道的应用程序设置音量?这有开关吗?还是我必须手动操作(捕捉音量按钮的敲击声)?在谷歌搜索之后,我自己找到了答案 您可以调用活动的onCreate方法。下面的例子
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
// change the music vol instead of ringtone vol
// when hardware volume buttons are pressed
setVolumeControlStream(AudioManager.STREAM_MUSIC);
}
流音乐
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
铃声
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING);
有关更多信息,请使用AudioManager并设置以下选项之一:
STREAM_ALARM //The audio stream for alarms
STREAM_DTMF //The audio stream for DTMF Tones
STREAM_MUSIC //The audio stream for music playback
STREAM_NOTIFICATION //The audio stream for notifications
STREAM_RING //The audio stream for the phone ring
STREAM_SYSTEM //The audio stream for system sounds
STREAM_VOICE_CALL
像这样:
myManager.getStreamVolume(AudioManager.STREAM_MUSIC);
抱歉,我不想获取卷,但我想设置当用户按下硬件卷键时修改哪个卷流。抱歉,我不想获取卷,但我想设置当用户按下硬件卷键时修改哪个卷流。是的,它确实是重复的。