How to play a MP3 file using NAudio

后端 未结 3 1115
盖世英雄少女心
盖世英雄少女心 2020-12-06 02:26
WaveStream waveStream = new Mp3FileReader(mp3FileToPlay);
var waveOut = new WaveOut();
waveOut.Init(waveStream); 
waveOut.Play();

This throws an ex

3条回答
  •  盖世英雄少女心
    2020-12-06 02:44

    Try like this:

    class Program
    {
        static void Main()
        {
            using (var ms = File.OpenRead("test.mp3"))
            using (var rdr = new Mp3FileReader(ms))
            using (var wavStream = WaveFormatConversionStream.CreatePcmStream(rdr))
            using (var baStream = new BlockAlignReductionStream(wavStream))
            using (var waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
            {
                waveOut.Init(baStream);
                waveOut.Play();
                while (waveOut.PlaybackState == PlaybackState.Playing)
                {
                   Thread.Sleep(100);
                }
            }
        }
    }
    

    Edit this code is now out of date (relates to NAudio 1.3). Not recommended on newer versions of NAudio. Please see alternative answer.

提交回复
热议问题