我有一个MFC应用程序。我有以wav格式存储的音频数据。我的问题是,如何将这些字节的数组编码为ogg vorbis格式?

我找到一个例子:

http://svn.xiph.org/trunk/vorbis/examples/encoder_example.c

并尝试在我的应用程序中使用它。
首先,我尝试将其添加到我的项目中并进行编译。我必须添加上述文件中包含的文件,因此我在库libvorbis和libogg中找到了它们。但我仍然无法链接:

Error 4 error LNK2019: unresolved external symbol _oggpack_writetrunc referenced in function _vorbis_bitrate_addblock bitrate.obj
Error 2 error LNK2019: unresolved external symbol _oggpack_write referenced in function _vorbis_bitrate_addblock bitrate.obj
Error 8 error LNK2019: unresolved external symbol _oggpack_read referenced in function _vorbis_staticbook_unpack codebook.obj
Error 10 error LNK2019: unresolved external symbol _oggpack_look referenced in function _decode_packed_entry_number codebook.obj
Error 7 error LNK2019: unresolved external symbol _oggpack_get_buffer referenced in function _vorbis_bitrate_flushpacket bitrate.obj
Error 5 error LNK2019: unresolved external symbol _oggpack_bytes referenced in function _vorbis_bitrate_addblock bitrate.obj
Error 9 error LNK2019: unresolved external symbol _oggpack_adv referenced in function _decode_packed_entry_number codebook.obj
Error 3 error LNK2001: unresolved external symbol _oggpack_write codebook.obj
Error 6 error LNK2001: unresolved external symbol _oggpack_bytes codebook.obj

我找不到那些人的定义。
我将不胜感激任何帮助。

谢谢。

最佳答案

libsndfile是一个流行的库,可用来做您想做的事。

至于链接错误,似乎您正在链接的代码依赖于定义以“oggpack”开头的符号的库,因此您需要在链接中包括该库。但是使用libsndfile可能是一个更好的解决方案。

关于c++ - 将wav编码为ogg vorbis时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5186558/

10-09 02:12