来自 libmpg123 源代码中 format.c
文件中的 good_enc
函数。
它用于检查当前版本是否支持指定的编码。
下图取自调试 session ,在此期间它检查是否支持(enc == 512,相当于 MPG123_ENC_FLOAT_32
)32 位浮点编码。
如图所示,出于某种原因,我的构建不支持 32 位浮点编码。
我在 Windows 7 x64 家庭高级版上运行它,源代码按原样下载和编译。
有没有我遗漏的配置?从网站上的文档看来,
32bit float will be usual beginning with mpg123-1.7.0
我使用的是 1.14.4 版本
最佳答案
我不知道你的 1.14.4 版本是否已经支持浮点 - 上次我知道它“仅”被最后的 svn trunk 支持。
所以也许从那里拉出来并再次编译。
无论如何,在默认源中包含一个“廉价黑客”以强制启用您的 float 。
/* Simple hack to enable floating point output. */
if(argc >= 4 && !strcmp(argv[3], "f32")) mpg123_param(mh, MPG123_ADD_FLAGS, MPG123_FORCE_FLOAT, 0.);
关于c++ - 为什么我的 libmpg123 构建不支持 float ?我如何启用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14452386/