我有一个相当简单的问题,涉及在通过OpenAL传输PCM时生成和删除缓冲区。除了在完成播放时创建,填充,排队,轮询和删除缓冲区之外,根本不做任何花哨的事情。它只是让我不必通过Core Audio这么做。我相信大家都明白......
但是经过足够长的时间之后,事情才刚刚开始,我刚刚意识到,即使我在完成播放后成功删除了一系列缓冲区,当我为下一位音频分配新的缓冲区时,缓冲区数量继续增加。这是预期的吗?当这些缓冲区数量达到最大限制时,这些缓冲区数字是否会环绕,或者这是否表示缓冲区实际上没有被删除?我在alDeleteBuffers()之后检查错误结果,一切看起来都不错,但也许有些东西我不知道了?
也许更普遍的问题是,如果我自己更好地分配一系列缓冲区并且只是保留它们,而不是在我完成后立即将它们交还给OpenAL并依赖它的分配策略。如果相关,我在OSX / iOS上运行。任何有类似经历的人的意见/建议都会受到欢迎......