Кнопка Mute не отключит AVAudioPlayer
Мне нужно зацикливать файл .caf в моем приложении для iPhone.
AVAudioPlayer выглядит многообещающим. Но есть одна проблема. Он не остановится или не отключится, даже если я нажал кнопку отключения звука на iPhone.
И я понимаю, что не будет никакого способа программно узнать, нажата ли эта кнопка отключения звука или нет в iOS 5.
Итак, мне нужно знать некоторые свойства AVAudioPlayer или AVAudioSession. Или, возможно, мне может потребоваться рассмотреть другие библиотеки, чтобы играть в мой .caf файл.
Любая идея?
Ответы
Ответ 1
Я понял, что это потому, что у меня была эта строка кода
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
Затем я изменил его на
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];
Затем кнопка отключения звука будет работать и остановит мой AVAudioPlayer...
Ответ 2
мои 2 цента для быстрого 3.0:
let sharedSession = AVAudioSession.sharedInstance()
do {
try sharedSession.setCategory(AVAudioSessionCategoryAmbient)
} catch _{
return false
}
или проще:
try? sharedSession.setCategory(AVAudioSessionCategoryAmbient)
Ответ 3
Из документов:
![enter image description here]()
В общем, вам просто нужно выяснить, какая категория аудиосеансов соответствует вашим потребностям.