У меня есть приложение, которое воспроизводит прерывистые звуки, когда его активность открыта, и пользователь всегда ожидает, что он издаст эти шумы, но, к сожалению, он ограничен громкостью музыкального потока. Опции, которые я обнаружил, таковы:
- Отрегулируйте громкость музыкального потока, возможно, оглушая пользователя, если он проигрывает музыку в то время.
- Вызовите MediaPlayer.setVolume (), который неэффективен, если громкость музыкального потока равна 0.
- Ручка кнопки громкости нажимает себя, что представляет две проблемы: нажатия кнопки громкости регулируют громкость звонка, если мой звук не воспроизводится, и я до сих пор не смог отловить событие onKey для нажатия кнопки громкости с помощью моего OnKeyListener. Если бы был какой-то способ заставить настройку примениться к музыкальному потоку, когда моя деятельность сфокусирована, или просто ловить нажатие кнопки, это сработало бы.
- Воспроизведение тихого зацикленного звука в фоновом режиме, чтобы музыкальный поток оставался в контексте для регулировки громкости.
Я думаю, что третий вариант, вероятно, лучше, так как он уступает контроль громкости пользователю, но если бы был какой-то способ просто переопределить громкость системы в одном экземпляре медиаплеера, который бы тоже работал.