OpenAL随机停止播放一些声音,只能通过重启修复

pet*_*ter 17 audio openal cocos2d-iphone ios

应用程序:两个拥有庞大客户群的Cocos2d通用iOS游戏.

问题:几个月前(2011年)报道开始报道,声音会随机切断,只有部分声音会在应用中播放,有些则不会.此问题只能通过设备重新启动来解决.

重要注意事项和细节:

  • SAME代码和SAME声音文件播放时间超过一年,没有此类错误报告.我希望我能确定一个日期,但我相信问题始于iOS更新.

  • 这个bug难以复制.我亲眼看过一次,但我再也没有运气了.然而,我们每天会收到1-2封支持相同问题的电子邮件,其中一些是以糟糕的评论形式出现的.如果我不得不从空中拉出一个数字,我猜我们正在考虑1000的发病率.它似乎在iPad上更常见,但我不确定.

  • 重新启动设备是解决问题的唯一方法.重新启动应用程序什么都不做,删除应用程序并重新安装什么都不做,必须关闭电源并重新打开.

  • 几个星期前试图盲目修复我倾倒了Cocos2d声音引擎并将其中一个应用程序切换到ObjectAL(另一个基于openAL的声音引擎),希望它可能已经解决了问题.它没有,同样的问题正在发生.正如您所注意到的,这两者都只是OpenAL的接口.

  • 使用Apple的推荐方法(https://developer.apple.com/library/ios/#codinghowtos/AudioAndVideo/_index.html )将声音文件本身从wav转换为cafs ,尽管我们也使用了-c 1标志来制作他们是单一渠道.

  • 需要明确的是,该bug与通常的声音问题(静音开关,音量)无关.一部分声音继续正常播放,但在设备断电并重新启动之前,它们永远不会再次播放.

如果有人有我的想法,我会非常感谢你的帮助.我在这里试图修复一个我无法重新创建的持久性错误,这似乎是由我无法控制的东西造成的.

Bre*_*ett 3

正如评论者所说,我在 OpenAL 上也遇到过类似的问题。我们在不同的硬件和不同的操作系统版本上遇到了虚假问题。确实,复制几乎是不可能的。我们发现这个问题的唯一原因是很大比例的用户经历过崩溃或其他严重的音频问题。我们花了几个月的时间试图让它发挥作用,但最终我们遇到的稳定性问题是无法控制的。我们最终选择了另一个库,并将 OpenAL 完全排除在外。我当然不会推荐它用于新项目。

  • 您有任何建议的库来替换 OpenAL 吗? (4认同)