在写我们app的时候,app里面用到了科大讯飞的语音识别,在读语音的时候按了音量键,
第一是音量键的进度条不显示;第二是音量调节无法控制,是失效的,虽然按下按键的时候也会有音量键的声音。如图所示:左图异常,右图正常。
原因是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就可以自由调节音量大小了。
参考于:https://blog.csdn.net/u013144287/article/details/80523496
