【发布时间】:2011-11-06 09:58:26
【问题描述】:
我们的 ipad 应用程序会并行播放一堆 OpenAL 源,每个正在进行的触摸都有一个。源在 touchesMoved 时创建和启动,在 touchesEnded 或 touchesCancelled 时停止。
似乎一切正常,除了一个错误,有时一个源似乎在触摸结束后继续播放。这似乎只在生成大量触摸事件时才会发生。
我已经验证,当这种情况发生时,我的所有 AL 源都已使用 alSourceStop 停止,并已使用 alDeleteSources 销毁。 OpenAL 没有报告任何错误。然而声音并没有停止。
我开始认为这可能是 OpenAL 的 iOS 实现中的一个错误。有人见过这样的吗?
【问题讨论】:
-
您如何将每个触摸事件与其对应的 OpenAL 声音相关联?你会错过关闭其中一个吗?
-
您可以在您的 toucheEnded 方法中发布代码吗?
-
至少可以在停止声音之前将增益设置为 0。如果它继续播放,那么你肯定会错过它。