如何将 PCM 转换为 MP3?

How to convert PCM to MP3?

我正在将 PCM 转换为 MP3 播放器。将 20KHz 的 PCM 文件转换为 MP3 效果不佳。有什么问题吗?

这是我的代码:

using (var retMs = new MemoryStream())
        using (var ms = new MemoryStream(File.ReadAllBytes(filename)))
        using (var rdr = new WaveFileReader(ms))
        using (var wtr = new LameMP3FileWriter(retMs, rdr.WaveFormat, 128))
        {
            rdr.CopyTo(wtr);
            File.WriteAllBytes(Environment.CurrentDirectory + @"\Mix.mp3", retMs.ToArray());
        }

在 128k 时,MP3 编码器使用 17 kHz 左右的低通滤波器。任何高于它的东西都会被丢弃。

如果保留音频两端的频率很重要,那么您根本不应该使用有损编解码器……当然也不是 MP3。