在寫我們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