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

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

它应该解码“文件名”并将数据存储到“输出”中所以我可以把它寄给openal对吧?
这并不缺乏研究,在阅读数小时后,我真的不知道它是如何工作的如果有其他库可以轻松加载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, "oops\n");

关于c - 如何在c中加载ogg文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29651912/

10-13 00:06