如何在 c 中加载 ogg 文件



我正在学习 openal 的音频,并尝试将 ogg 文件加载到内存中,以便我可以用 openal 播放它们。我一直在寻找一个库来加载 ogg 文件,我找到的最好的库是这个库,它没有依赖关系。但是文档很混乱,我在网上找不到像样的教程示例。我想知道的只是如何加载一个 ogg 并获得我可以实际发送到开放缓冲区的东西。

问:如果我接到此电话:

stb_vorbis_decode_filename(const char *filename, int *channels, int *sample_rate, short **output);

它应该解码"文件名"并将数据存储到"输出"中。所以我可以把它送到开放吧?这不是缺乏研究,经过几个小时的阅读,我真的无法理解它是如何工作的。如果有另一个库可以轻松加载 ogg 文件,请告诉我。

谢谢!

你试过吗? 你得到了什么结果/错误? 也许是这样的:

int channels;
int sample_rate;
short * output;
int rc = stb_vorbis_decode_filename("somefile.ogg", &channels, &sample_rate, &output);
if (rc == -1) fprintf(stderr, "oopsn");

最新更新