OpenAL 1.1 中不推荐使用以下函数调用,什么是正确的替换?我在谷歌上找到的唯一答案是“编写你自己的函数!!” ;-)

alutLoadWAVFile
alutUnloadWAV

最佳答案

ALUT 中有 8 个文件加载函数(不包括三个已弃用的函数 alutLoadWAVFilealutLoadWAVMemoryalutUnloadWAV )。

函数的前缀决定了数据的去向;其中四个启动alutCreateBuffer(创建一个新的缓冲区并将声音数据放入其中),另外四个启动alutLoadMemory(分配一个新的内存区域并将声音数据放入其中)。

函数的后缀决定了数据的来源。您的选项是 FromFile(来自文件!)、FromFileImage(来自内存区域)、HelloWorld(某人说“你好,世界!”的固定内部数据)和 Waveform(生成波形)。

因此,我相信 alutLoadWAVFile 的正确替代品应该是 alutCreateBufferFromFile

但是,我不会盲目地使用它 - 它适用于短的声音剪辑,但例如您可能希望将音乐轨道分块加载并排队多个缓冲区,以减轻内存负载。

顺便说一下,这些函数都包含在 alut documentation 中。

关于openal - alutLoadWAVFile 的替代品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6667202/

10-08 23:12