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

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

Solutions Collecting From Web of "Как контролировать объем мультимедиа?"

В своей работе onCreate () вы можете:

setVolumeControlStream(AudioManager.STREAM_MUSIC); 

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

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

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

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

 setVolumeControlStream(AudioManager.STREAM_MUSIC); 

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