0

我有一个 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

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

谢谢。

4

3 回答 3

0

我有一些运气:gcc program.c -lvorbis -o program

我希望 vorbis 能做一个可行的小型工作示例。我尝试了所有示例,但它们不是很好。

于 2013-01-30T02:35:41.780 回答
0

gcc pc -lvorbisenc -op

gcc pc -lvorbis -lvorbisenc -op

但我还没有检查它是否会编码一个 wav。

于 2013-02-15T21:39:38.587 回答
0

libsndfile是一个流行的库,可以做你想做的事。

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

于 2011-03-03T23:15:56.493 回答