AVAudioPlayer выключает iPod - как обойти? - PullRequest
7 голосов
/ 02 октября 2009

Я использую AVAudioPlayer для воспроизведения звуков в моем приложении, но он отключает iPod при воспроизведении звука.

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

Спасибо за вашу помощь.

1 Ответ

15 голосов
/ 02 октября 2009

Это должно работать для вас (взято из моего приложения Ambiance)

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
UInt32 doSetProperty = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(doSetProperty), &doSetProperty);
[[AVAudioSession sharedInstance] setActive: YES error: nil];

Из документов:

kAudioSessionProperty_OverrideCategoryMixWithOthers Изменяет поведение смешивания kAudioSessionCategory_MediaPlayback а также kAudioSessionCategory_PlayAndRecord категории аудио сессий. Установка этого свойство TRUE (любое ненулевое значение) позволяет смешивать аудио iPod с аудио приложения. Другие аспекты эти категории, такие как их Поведение звонка / Silent, не пострадавших.

Это свойство имеет значение FALSE (0) по умолчанию. Когда аудио сессия изменения категории, например, во время прерывание, значение этого свойство возвращается в ЛОЖЬ. Вернуть поведение смешивания вы должны затем восстановить это свойство.

Всегда проверяйте, установлена ​​ли эта настройка собственность преуспевает или терпит неудачу, и реагирует надлежащим образом; поведение может измениться в будущие выпуски iPhone OS.

Доступно в iPhone OS 3.0 и более поздних версиях.

Объявлено в AudioServices.h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...