2015-10-31 48 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实例。

我希望它能帮助你们!