setVolumeControlStream () не работает - PullRequest
1 голос
/ 13 января 2012

Я звоню setVolumeControlStream(AudioManager.STREAM_MUSIC); в onCreate() методах каждого из моих трех действий в приложении, но ни один из них не работает. На самом деле, когда я нажимаю кнопки регулировки громкости - вообще ничего не происходит. Вот цитата из документации:

Не гарантируется, что аппаратные регуляторы громкости всегда будут изменять громкость этого потока (например, если выполняется вызов, вместо этого может быть изменена громкость его потока).

Все, что делает мое приложение, - это воспроизведение музыки в фоновом режиме и воспроизведение некоторых звуков. Почему это не должно работать? Заранее спасибо.

1 Ответ

6 голосов
/ 31 января 2012

Когда вы переопределили onKeyDown () и т. Д., Убедитесь, что вы вызываете super.onKeyDown (), а также для клавиш, которые вы не обрабатываете или, по крайней мере, для клавиш увеличения / уменьшения громкости, например, на ваш взгляд подкласс:

public boolean onKeyDown(int keyCode, KeyEvent event) {
   // do your stuff here...
   if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
        return super.onKeyUp(keyCode, event);
    }   
    return true;
}
...