尝试用NAudio播放MP3音频文件

时间:2010-12-30 20:42:44

标签: c# .net mp3 naudio lame

我正在关注this tutorial与NAudio播放MP3音频文件。要创建WaveStream,我使用此方法:

private WaveStream CreateInputStream(string fileName)
        {
            WaveChannel32 inputStream;
            if (fileName.EndsWith(".mp3"))
            {
                WaveStream mp3Reader = new Mp3FileReader(fileName);
                inputStream = new WaveChannel32(mp3Reader);
            }
            else
            {
                throw new InvalidOperationException("Unsupported extension");
            }
            volumeStream = inputStream;
            return volumeStream;
        }

不幸的是我总是在

中得到一个例外
line inputStream = new WaveChanne32(mp3Reader):
  

块引用

System.ApplicationException was unhandled
  Message=Only PCM supported
  Source=NAudio
  StackTrace:

2 个答案:

答案 0 :(得分:2)

您可以使用

var pStream = NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(mp3Reader);
var inputStream = new NAudio.Wave.BlockAlignReductionStream(pStream);

答案 1 :(得分:0)

PCM是一种编码类型(脉冲编码调制)。好像NAudio只能处理PCM编码文件。