當android.widget.MediaController顯示時,我無法獲得Android應用程序(運行在Android 6.0上)以響應音量按鍵。顯示android.widget.MediaController時,Android應用程序無法識別音量按鍵
當片段中的按鈕被點擊時,媒體控制器將通過片段顯示。
已加載的片段的活性具有的onCreate以下代碼:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
當媒體控制器沒有顯示,音量按鍵做調節音量和此音量調整確實的體積的影響由媒體控制器播放聲音。
但是,當媒體控制器在應用程序中顯示爲可見時,音量鍵將被忽略。我已經重寫了活動的onKeyDown方法來檢測何時識別按鍵,並且只有在媒體控制器不可見時才能識別它們。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
Log.i(TAG, "Increased volume");
getAudioManager().adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
Log.i(TAG, "Decreased volume");
getAudioManager().adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return true;
default:
return false;
}
}
用戶往往會想,當被聽到的聲音調節量,這是什麼時候,他們不能調整卷,事情的方式都在工作。如何更改媒體控制器行爲,以便識別音量按鍵?