1

我正在使用 OpenAL 开发一个可可触摸应用程序,但如果我被迫,我愿意切换到另一个框架(我真的不需要 3d 的东西)。

我一直在寻找一种向后播放声音的方法,但我只找到了(非常复杂的)使用音频单元的示例。是否有可能反向存储缓冲区,以便我可以使用 OpenAL 向后播放它?

4

1 回答 1

2

您可以通过对波形数据上的每个样本重新排序来向后播放声音,这与二进制数据操作一样简单。

openAL 无法从数据末尾读取样本到第一个数据,但您可以通过使用具有样本大小大小的缓冲区将数据排队到 openAL 来做到这一点,例如,如果您使用 16 位波工作,您将需要有很多大小为 2 字节的缓冲区,然后将其逐一向后排入 openAL 队列,这不是很有效。

最好先对波形数据进行预处理,使其向后处理,这样您就有两个数据(或轨道),正常数据和向后数据,然后您可以根据您的应用程序事件播放哪个数据/轨道。

于 2010-03-06T16:34:17.087 回答