在非常具体但可重现的情况下,我遇到audioPlayerDecodeErrorDidOccur:error:
了以下 NSError:
Error Domain=NSOSStatusErrorDomain Code=-50 "The operation couldn’t be completed. (OSStatus error -50.)"
这发生在也使用 OpenAL 的游戏中;我们正在使用 OpenAL 播放声音,但尝试利用硬件 AAC 解码。但是,上述情况的发生似乎与我们在 OpenAL 中所做的任何事情无关。
这发生在我们执行场景(游戏模式)切换后大约 2-3 秒——但仅限于从场景到场景的某些组合。它甚至更奇怪,因为我们没有做与这些事件相关的重要音频。我已经证实我们对 . 什么都不做AVAudioPlayer
,但似乎 OpenAL 也没有做任何重要的事情。
我试图通过释放AVAudioPlayer
, 并将其替换为引用同一文件、使用相同卷并从文件中的同一时间恢复的另一个来解决此问题。但是,几秒钟后,该播放器也抛出了上述错误。另一方面,切换到一首新歌曲会创建一个功能齐全的播放器,没有任何问题。
我的问题是:在这种情况下,错误 -50 是什么意思,或者您将如何弄清楚它的含义?
(如果这意味着什么,游戏必须至少在 iOS 3.1.2 上运行)。
我们已经尝试禁用 OpenAL 部分代码;它没有帮助。