android 音量键调节无效问题

时间:2024-04-12 20:29:58
android 音量键调节无效问题

在写我们app的时候,app里面用到了科大讯飞的语音识别,在读语音的时候按了音量键,第一是音量键的进度条不显示;第二是音量调节无法控制,是失效的,虽然按下按键的时候也会有音量键的声音。如图所示:左图异常,右图正常。

android 音量键调节无效问题                       android 音量键调节无效问题


原因是Activity里面重写了onKeyDown方法,未对音量键进行监听。

解决方法:在onKeyDown()里面加入以下代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    AudioManager audioManager  = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    switch (keyCode) {
        case KeyEvent.KEYCODE_VOLUME_UP:
            audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE,AudioManager.FX_FOCUS_NAVIGATION_UP);
            return true;
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER,AudioManager.FX_FOCUS_NAVIGATION_UP);
            return true;
    }
    return true;
}
到此音量调节键也就显示了,app就可以*调节音量大小了。