所以,當我使用這個功能設置AVAudioPlayer:swift_unexpectedError嘗試播放音頻
func setupAudioPlayerWithFile(file: String) -> AVAudioPlayer? {
var audioPlayer: AVAudioPlayer?
if let sound = NSDataAsset(name: file) {
do {
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
try! AVAudioSession.sharedInstance().setActive(true)
try audioPlayer = AVAudioPlayer(data: sound.data, fileTypeHint: AVFileTypeWAVE)
} catch {
print("error initializing AVAudioPlayer")
}
}
return audioPlayer
}
但我發現了數以百計的崩潰報告從用戶。我無法複製任何崩潰。
的崩潰發生在以下兩行:
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
try! AVAudioSession.sharedInstance().setActive(true)
有時它崩潰在第一行上,有時在第二。我該如何解決?什麼可能導致這些崩潰?
你不應該使用'試試!'如果你在一個'do'塊包裝你的代碼。只需使用'try'。 – JAL
是的,這是問題的一半,但我也想知道是什麼導致了這些崩潰。 – TimSim