2015-10-31 49 views
6

我在應用程序商店上傳了一個檔案,當我嘗試播放介紹聲音時,我正在崩潰。我正在使用AVAudioEngine播放聲音。當我通過Xcode編譯和運行代碼時,一切正常。當我在TestFlight上傳並嘗試運行我的應用程序作爲內部測試程序時,我的應用程序崩潰。崩潰報告:使用libAVFAudio.dylib測試飛行應用程序崩潰:AVAE_RaiseException(NSString *,...)+ 60

enter image description here

如果我使用AVAudioPlayer播放聲音它的確定。我不明白AVAudioEngine有什麼問題。任何建議?

+0

我有同樣的問題...任何人都可以建議嗎? – KorinW

+0

任何更新,我面臨同樣的問題? –

+0

我從來沒有找到解決方案...我改用AVAudioPlayer。 – Thomas

回答

1

我只在我的應用程序的發佈版本和特定於iPhone7時遇到了相同的異常。 異常似乎發生在音頻會話類別的變化點。 在我的情況下,從

AVAudioSessionCategorySoloAmbient 

更改爲

AVAudioSessionCategoryPlayAndRecord, with: AVAudioSessionCategoryOptions.defaultToSpeaker 

我發現這工作至少只爲我一個解決方法。

以下文章 https://forums.developer.apple.com/thread/65656 表明這種異常發生在多輸入音頻單元初始化時。

爲了防止多個輸入音頻單元的初始化, 我加入音頻會話類別改變之前的以下代碼

AudioOutputUnitStop((engine.inputNode?.audioUnit)!) 
AudioUnitUninitialize((engine.inputNode?.audioUnit)!) 

引擎是AVAudioEngine實例。

我希望它能幫助你們!