Как заставить качельку громкости влиять на поток, который в данный момент не воспроизводится?

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

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


person yngwie    schedule 21.04.2011    source источник


Ответы (1)


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

    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);  

Дополнительные параметры управления громкостью -app/" rel="nofollow">здесь

person taymless    schedule 21.04.2011
comment
Именно то, что я искал! Спасибо! - person yngwie; 21.04.2011