AVAudioSession — перехват ошибок setMode и setCategory

Я использую AVAudioSession в приложении, которое только воспроизводит звук. Я устанавливаю режим и категорию моей аудиосессии в applicationDidFinishLaunchingWithOptions:.

let audioSession = AVAudioSession.sharedInstance()

do {
   try audioSession.setMode(AVAudioSessionModeDefault)
   try audioSession.setCategory(AVAudioSessionCategoryPlayback)
}
catch {}

Я никогда не устанавливал другой режим или категорию за все время существования моего приложения, и я активирую свой аудиосеанс, когда пользователь нажимает кнопку воспроизведения. В каком случае любой из этих методов (setMode:error: и setCategory:error) выдаст ошибку? Что я должен обрабатывать в своем блоке catch?


person vpetro    schedule 07.07.2016    source источник


Ответы (1)


Гипотетическое (будущее?) Устройство без аудиовыхода может выдать ошибку недопустимой категории аудиосеанса. Или, возможно, произошел сбой аудиодрайвера ОС, и доступ к нему недоступен. Возможно, сообщите пользователю, что устройство не может воспроизводить звук по какой-то неизвестной причине.

person hotpaw2    schedule 10.07.2016