Как заставить громкость влиять на поток, который сейчас не воспроизводится? - PullRequest
1 голос
/ 21 апреля 2011

Я использую SoundPool для воспроизведения звуковых эффектов через медиапоток (STREAM_MUSIC) в моем приложении для Android. Он работает хорошо, за исключением того, что при использовании регулятора громкости для изменения громкости большую часть времени он изменяет громкость мелодии звонка, а не громкость мультимедиа. Проблема заключается в том, что звуковые эффекты воспроизводятся только с перерывами. Если я случайно нажму кнопку регулировки громкости во время воспроизведения звукового эффекта, громкость мультимедиа действительно изменится, но большую часть времени приложение будет молчать. Это делает практически невозможным для пользователя контролировать громкость приложения.

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

1 Ответ

4 голосов
/ 21 апреля 2011

Вы должны будете установить регулятор громкости, как это в вашей деятельности .. вероятно, в методе onCreate.

    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);  

Дополнительные параметры регулировки громкости здесь

...