1

我正在使用 ffmpeg (c++) 将各种音频文件解码为 44100 立体声或单声道(根据来源)。我必须保持这样,因为我也玩它们。同时,我还需要这些的 11025 单声道版本。所以我试图找到一种非常快速/简单的方法来将 44100 立体声 PCM 转换为 11025 单声道而无需 ffmpeg 以节省 CPU。

这在 java (android) 或 c++ (ndk) 中是否可行?

我已经在同一个项目中使用了 java 和 c++。

4

1 回答 1

1

逐个样本平均对于立体声到单声道的转换是正确的,但是对于采样率转换,为什么不使用 libsamplerate 之类的库呢?如果即使这样也太重了,平均确实很快,但这不是正确的方法。是否可以接受取决于您的应用程序。在我对这个 SO 帖子的回答中描述了另一种方法:

如何将字节数组中的 pcm 样本转换为 -1.0 到 1.0 范围内的浮点数并返回?

于 2013-07-22T13:31:31.920 回答