我在应用商店上传了一个存档,当我尝试播放介绍声音时出现崩溃。我是AVAudioEngine
用来播放声音的。当我通过 Xcode 编译和运行代码时,一切正常。当我在 TestFlight 上上传并尝试以内部测试员身份运行我的应用程序时,我的应用程序崩溃了。崩溃报告是:
如果我AVAudioPlayer
用来播放那个声音就可以了。我不明白有什么问题AVAudioEngine
。有什么建议吗?
我在应用商店上传了一个存档,当我尝试播放介绍声音时出现崩溃。我是AVAudioEngine
用来播放声音的。当我通过 Xcode 编译和运行代码时,一切正常。当我在 TestFlight 上上传并尝试以内部测试员身份运行我的应用程序时,我的应用程序崩溃了。崩溃报告是:
如果我AVAudioPlayer
用来播放那个声音就可以了。我不明白有什么问题AVAudioEngine
。有什么建议吗?
我只在我的应用程序的发布版本中遇到了同样的异常,并且特定于 iPhone7。异常似乎发生在音频会话类别的变化点。就我而言,从
AVAudioSessionCategorySoloAmbient
至
AVAudioSessionCategoryPlayAndRecord, with: AVAudioSessionCategoryOptions.defaultToSpeaker
我找到了一个至少对我有用的解决方法。
以下文章 https://forums.developer.apple.com/thread/65656 讲述了这种异常发生在多输入音频单元的初始化时。
为了防止多输入音频单元的初始化,我在更改音频会话类别之前添加了以下代码
AudioOutputUnitStop((engine.inputNode?.audioUnit)!)
AudioUnitUninitialize((engine.inputNode?.audioUnit)!)
引擎是 的实例AVAudioEngine
。
我希望它会帮助你们!