Для пользователей NAudio 1.6 и выше, пожалуйста, не используйте код в оригинальном принятом ответе. Вам не нужно добавлять WaveFormatConversionStream
или BlockAlignReductionStream
, и вам следует избегать использования WaveOut
с обратными вызовами функций (WaveOutEvent
предпочтительно, если вы не находитесь в приложении WinForms или WPF). Кроме того, если вы не хотите блокировать воспроизведение, вы обычно не спите, пока аудио не закончится. Просто подпишитесь на WaveOut
's PlaybackStopped
событие.
Следующий код будет отлично работать для воспроизведения MP3 в NAudio:
var reader = new Mp3FileReader("test.mp3");
var waveOut = new WaveOut(); // or WaveOutEvent()
waveOut.Init(reader);
waveOut.Play();