禁用设备音量控制

时间:2013-05-17 13:18:31

标签: android media-player volume

我创建了自定义媒体播放器来播放视频。我有音量按钮,如果点击那个按钮我只是像这样调用设备音量设置

 AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
 audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,audioManager.getStreamVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_SHOW_UI);

在我的媒体播放器设置中,如果我设置禁用音量控制,我不想显示音量,甚至点击设备侧音量增大/减小按钮。

非常感谢任何帮助!!!!!!

3 个答案:

答案 0 :(得分:0)

您可以尝试覆盖音量键事件

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
            || keyCode == KeyEvent.KEYCODE_VOLUME_UP)
        return true;
    else
        return false;
}

答案 1 :(得分:0)

帮助回答您预期的结果行为; “即使单击设备端的音量调高/调低按钮,我也不想显示音量”

@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        switch( event.getKeyCode() ) {
            case KeyEvent.KEYCODE_VOLUME_UP:
                // do something
                break;
            case KeyEvent.KEYCODE_VOLUME_DOWN:
                // do something
                break;

            default:
                super.dispatchKeyEvent(event);
                break;
        }

        return true;
    }

将使其按下,以免改变音量。

答案 2 :(得分:0)

您可以尝试此声明

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,audioManager.getStreamVolume(AudioManager.STREAM_MUSIC), AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);

代替

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,audioManager.getStreamVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_SHOW_UI);