2

在 Android 中,通常有 3 个用户感兴趣的音频音量通道:音乐/媒体、铃声和闹钟。通常,当按下硬件音量按钮时,会设置铃声音量并相应地显示带有搜索栏的对话框。

但是,如果我打开了音乐应用程序并按下音量按钮,媒体音量通道就会被设置(并且在搜索栏对话框上会显示一个扬声器图标而不是电话)。我现在的问题是,如何为使用媒体通道音量控制而不是铃声通道的应用程序进行设置?是否有此开关或我必须手动执行此操作(捕捉音量按钮行程)?

4

3 回答 3

8

经过一番谷歌搜索,我自己发现了它。

您可以在活动的 onCreate 方法中调用setVolumeControlStream。下面的例子。

@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);
}
于 2012-11-09T08:45:37.413 回答
0

对于流音乐

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);

更多信息在这里

于 2012-11-09T08:48:43.440 回答
0

您使用 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);
于 2012-11-09T08:51:28.427 回答