Проблема в том, что AVAudioPlayer сам по себе ведет себя так, как должен. Он воспроизводит фоновую музыку, когда устройство не находится в беззвучном режиме (включен переключатель без звука / звонка). Когда переключатель бесшумности включен, он также учитывает это состояние и не воспроизводит фоновую музыку.
Однако есть один специфический сценарий, который AVAudioPlayer воспроизводит в беззвучном режиме, - это когда я воспроизводю видео в MPMoviePlayer.
В моем приложении перед воспроизведением фильма сначала воспроизводится звук BG.
Кто-нибудь может помочь? Это происходит только тогда, когда я смотрю фильм.
Дополнительные сведения:
Используемый цикл BG - тип m4a
используемый тип фильма - m4v
Я также обнаружил, что этот сценарий неоднократно появляется в iOS 5, но иногда это происходит даже в последних версиях.
Я исследовал всюду в Google, в документах Apple и в SO, но я не смог найти ничего относительно этого конкретного сценария.
Я даже попытался явно установить для категории AVAudioSession значение AVAudioSessionCategoryAmbient, а затем вызвать setActive. (Также пробовал метод setCategory:withOptions:error
, но приложение по какой-то причине вылетает - проверено на устройстве)
Я даже пытался установить делегата и реализовать методы, когда пытался использовать AVAudioPlayerDelegate
.
Кому-нибудь помочь? :(