【发布时间】:2015-06-21 12:19:19
【问题描述】:
我正在使用 openal 学习音频,并尝试将 ogg 文件加载到内存中,以便可以使用 openal 播放它们。我一直在寻找一个库来加载 ogg 文件,我发现最好的一个是this one,它没有依赖关系。但是文档很乱,我在网上找不到像样的教程示例。 我只想知道如何加载一个 ogg 并获取一些我可以实际发送到 openal 缓冲区的内容。
问:如果我有这个电话:
stb_vorbis_decode_filename(const char *filename, int *channels, int *sample_rate, short **output);
它应该解码“文件名”并将数据存储到“输出”中。所以我可以将它发送到 openal 对吗? 这不是缺乏研究,经过数小时的阅读,我无法真正了解它是如何工作的。如果有其他库可以轻松加载 ogg 文件,请告诉我。
谢谢!
【问题讨论】:
-
好吧,为什么不试试那个命令。据我了解,nothings.org/stb_vorbis/samples/sample.c,它读取一个文件,“将其转换为短”(??我猜这意味着“16位样本”),并将指针更新为 i> 有了这个记忆。要知道这是否足以“获得我可以实际发送到 openal 缓冲区的东西”取决于 OpenAL 接受的内容。