Попробуйте воспроизвести аудиофайл MP3 с помощью NAudio - PullRequest
1 голос
/ 30 декабря 2010

Я следую этому руководству для воспроизведения аудиофайлов MP3 с помощью NAudio. Для создания 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):

Blockquote

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

Ответы [ 2 ]

2 голосов
/ 31 декабря 2010

Вы можете использовать

var pStream = NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(mp3Reader);
var inputStream = new NAudio.Wave.BlockAlignReductionStream(pStream);
0 голосов
/ 30 декабря 2010

PCM - это тип кодирования (импульсная кодовая модуляция). Похоже, что NAudio может работать только с файлами в формате PCM.

...