Настройка громкости AVAudioPlayer на громкость звонка пользователя?

У меня проблема с громкостью AVAudioPlayer.

Я могу установить для свойства Audio.volume значение 1.0, но я бы предпочел просто воспроизводить звук с той громкостью, на которую пользователь установил свой звонок iphone.

Избавление от свойства Volume по умолчанию равно 1.0.

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

Огромное спасибо!


person Community    schedule 05.03.2009    source источник


Ответы (2)


Громкость, которую вы устанавливаете для экземпляра AVAudioPlayer, является просто относительной громкостью, например, если вы хотите воспроизвести два звука, один с половиной громкости другого, вы устанавливаете первый на 0,5, а второй на 1,0.

Реальная громкость устройства контролируется только пользователем и не может быть изменена программно. (Практические инструкции по кодированию аудио и видео - Как мне получить доступ к аппаратному регулятору громкости?)

Вы можете добавить MPVolumeView для пользователя, управляющего глобальным объемом.

person catlan    schedule 05.03.2009

Я слежу за аппаратными изменениями, устанавливая этот обратный вызов

AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume, audioVolumeChangeListenerCallback, self);

Но по какой-то причине я думаю, что пришел к выводу, что для получения начального состояния требуется неопубликованный вызов API. Я не могу вспомнить в данный момент. Возможно, эта информация натолкнет вас на правильный путь!

person John Fricker    schedule 05.03.2009