我有以下代码(重新)开始AVAudioEngine
连接到AVAudioEngineConfigurationChangeNotification
:
do {
try self.engine.start()
} catch {
DDLogError("could not start sound engine")
self.soundEnabled = false
return
}
self.engine 定义为
private let engine = AVAudioEngine()
但是,我经常通过 Crashlytics 收到崩溃报告说
致命异常:com.apple.coreaudio.avfaudio 错误 561015905
在包含try self.engine.start()
.
561015905 是AVAudioSessionErrorCodeCannotStartPlaying
,据我了解,这应该是NSError
错误代码,而不是异常,它应该被我catch
在上面的代码中的空白捕获。尽管如此,该应用程序似乎在那一点上崩溃了。我错过了什么?
我知道在某些情况下,应用程序在后台唤醒时可能会发生此错误,我会对此感到满意,只要我能以某种方式捕捉到它的发生,就像我想的那样do/catch
。