Подтвердить что ты не робот

Как контролировать объем мультимедиа?

Я хотел бы контролировать объем мультимедиа с моим приложением, используя обычные кнопки регулировки громкости. Проблема в том, что мое приложение использует короткие звуки, и они могут раздражать пользователя. Вы можете регулировать громкость только во время воспроизведения (в течение 1 секунды), после чего начинает регулировать громкость звонка. Как настроить уровень громкости мультимедиа по умолчанию?

4b9b3361

Ответ 1

В вашей деятельности onCreate() вы можете:

setVolumeControlStream(AudioManager.STREAM_MUSIC);

Ответ 2

Я не пробовал это, но вы должны иметь возможность перехватывать обычные кнопки громкости, переопределяя onKeyDown(int keyCode, KeyEvent event) в своей деятельности. Проверьте коды клавиш KEYCODE_VOLUME_UP и KEYCODE_VOLUME_DOWN.

Использование AudioManager.setStreamVolume(int, int, int) с STREAM_MUSIC для параметра streamType должно работать, и если вы вернетесь true из метода onKeyDown(...) (чтобы указать, что вы обработали событие), он должен помешать системе регулировать громкость звонка. Убедитесь, что вы возвращаете false для всех других кодов клавиш, которые вы не обрабатываете.

Ответ 3

Пожалуйста, не обрабатывайте сами клавиши громкости - почти я mpossible to guarantee, что вы не нарушаете поведение клавиш регулировки громкости.

Вызовите этот API в onCreate():

setVolumeControlStream(AudioManager.STREAM_MUSIC);

Это говорит AudioManager, что при использовании application has focus клавиши регулировки громкости должны регулировать громкость музыки.