AVAudioSession - 捕获setMode和setCategory错误

时间:2016-07-07 19:24:28

标签: swift error-handling try-catch avaudiosession audiosession

我在仅执行音频播放的应用中使用AVAudioSession。我在applicationDidFinishLaunchingWithOptions:设置了audioSession的模式和类别。

let audioSession = AVAudioSession.sharedInstance()

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

我从未在应用程序的生命周期内设置不同的模式或类别,并且当用户点按播放按钮时激活我的音频会话。在什么情况下,这些方法中的任何一个(setMode:error:setCategory:error)都会抛出错误?我应该在catch块中处理什么?

1 个答案:

答案 0 :(得分:0)

没有音频输出的假设(未来?)设备可能会引发无效的音频会话类别错误。或者OS音频驱动程序可能已崩溃且无法访问。也许告知用户该设备由于某种未知原因无法播放音频。