我们的ipad应用程序并行播放一堆OpenAL源,每个持续触摸一个.源是在touchesMoved上创建和启动的,并在touchesEnded或touchesCancelled上停止.
事情似乎工作正常,除了一个错误,有时一个来源似乎在触摸结束后继续播放.这似乎只在生成大量触摸事件时才会发生.
我已经验证,当发生这种情况时,我的所有AL源都已使用alSourceStop停止并且已被alDeleteSources销毁.OpenAL没有报告任何错误.但声音并没有停止.
我开始认为这可能是OpenAL的iOS实现中的一个错误.有没有人见过这样的东西?
当一根或多根手指移动或结束触摸时,将触发触摸[Moved|Ended]。iOS?有?超过 5 个手指的硬性限制,事件似乎变得有点不稳定。如果您遇到此限制,您可能需要重新考虑您的实施。
由于您没有提供任何实现细节,因此很难假设您的代码可能存在什么错误。我不知道你如何验证你的所有 AL 源都已停止。也许您应该在启动源时递增全局变量,并在停止源时递减全局变量,然后检查变量并确保它为 0(恕我直言,您可能会看到它> 0)。iOS 的最大源限制是 32,但你说你没有收到 openAL 错误......所以你可能没有达到这个要求。
归档时间: |
|
查看次数: |
976 次 |
最近记录: |