我正在使用libFlac将单声道波形文件转换为flac。

我正在使用Wikipedia中wav部分的示例文件,该文件可以为downloaded here

libFlac随附的example code在文档中说,它仅支持16位立体声文件。

根据libFlac文档,该库支持1-8个通道,因此应该没有任何问题。

我尝试将示例代码更改为仅通过替换行即可简单地编码单声道文件

//channels = 2;
channels = 1;

其余的代码看起来应该可以支持一个通道,而没有任何问题,但是当我尝试对单声道文件进行编码时,我得到了损坏的音频。 (原始音频,但音频中带有“孔”)。

是否有一个libFlac示例支持编码单声道文件?

最佳答案

最后,问题是采样率。我使用的mono wav文件的采样率为8000,当我将其编码为8000采样率的flac时,即使使用了sox之类的实用程序,音频也被破坏了

当我将wav编码为flac文件(采样率为16000)时,文件已正确编码。

我将就此问题向libFlack发布。

07-24 09:39
查看更多