Mp3帧用NAudio解压缩

时间:2013-06-09 15:47:54

标签: c# naudio

我正在通过来自NAudio Source Demo的Mp3StreamingDemo,我需要一个关于解压缩Mp3帧的解释(没有深入,只有几句话,以获得一般概念)。

实际代码是:

IMp3FrameDecompressor decompressor = null;
//...
if (decompressor == null)
{

    WaveFormat waveFormat = new Mp3WaveFormat(frame.SampleRate, frame.ChannelMode == ChannelMode.Mono ? 1 : 2, frame.FrameLength, frame.BitRate);
    //What does AcmMp3FrameDecompressor do?
    decompressor = new AcmMp3FrameDecompressor(waveFormat);
    this.bufferedWaveProvider = new BufferedWaveProvider(decompressor.OutputFormat);
}
int decompressed = decompressor.DecompressFrame(frame, buffer, 0);

我对MP3有一些了解,它看起来如何,关于帧等等。我只是不明白mp3帧解压缩的过程?具体做法是:

AcmMp3FrameDecompressor类使用的是什么? DecompressFrame方法有什么作用?

我可以看到课堂上的代码,但要深入了解它,我想我需要更多关于音频本身的知识。就目前而言,正如我所说的,我只会欣赏一般的描述。

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:2)

AcmMp3FrameDecompressor使用计算机上的ACM编解码器将MP3帧解压缩到PCM。自Windows XP以来,Windows的所有桌面版本都附带一个,但在某些情况下,您可能会遇到一个不可用的情况。 NAudio还提供基于DMO的MP3帧解码器,可在Windows Vista及更高版本上使用。