Независимый регулятор громкости AVAudioPlayer и MPMusicPlayerController в приложении iOS. - PullRequest
2 голосов
/ 29 июля 2011

В моем приложении я воспроизводю загруженное аудио с помощью AVAudioPlayer, одновременно воспроизводя аудио из музыкальной библиотеки iPod пользователя с помощью MPMusicPlayerController.

Мне нужно иметь возможность настроить громкость экземпляра AVAudioPlayer так, чтобы он был громче, чем звук, поступающий из MPMusicPlayerController.

Проблема в том, что когда я настраиваю свойство Volume AVAudioPlayer, он также регулирует громкость MPMusicPlayerController.

Есть ли какое-нибудь решение, которое позволило бы мне независимо контролировать громкость этих двух игроков?

Если нет, есть ли другой метод, который я должен использовать для этого?Любая помощь приветствуется.

1 Ответ

6 голосов
/ 29 июля 2011

Посмотрите документацию для AVAudioSession. Например, в Руководстве по программированию AVAudioSession говорится следующее:

"Наконец, вы можете расширить категорию, чтобы автоматически снизить громкость другого звука во время воспроизведения звука. Это можно использовать, например, в приложении для упражнений. Скажем, пользователь тренируется вместе со своим iPod когда ваше приложение хочет наложить словесное сообщение - например, «Вы гребли в течение 10 минут». Чтобы обеспечить понятность сообщения из вашего приложения, примените свойство kAudioSessionProperty_OtherMixableAudioShouldDuck к аудио-сеансу. другой звук на устройстве, кроме звука телефона, понижается по громкости. "

Я думаю, что это может решить твою проблему. Документация по инициализации AVAudioSession и настройке его категорий и свойств довольно ясна и легка для понимания; у тебя не должно быть проблем.

...