NAudio Mp3 Playback in Console
Posted
by Kurru
on Stack Overflow
See other posts from Stack Overflow
or by Kurru
Published on 2010-05-09T22:10:02Z
Indexed on
2010/05/09
22:18 UTC
Read the original article
Hit count: 555
Hi
I'm trying to make a helper dll that will simplify the NAudio framework into a subset of functions I'm likely to need but I've hit a stumbling block right off the bat.
I'm trying to use the following code to play an mp3 but I'm not hearing anything at all. Any help would be appreciated!
static WaveOut waveout;
static WaveStream playback;
static System.Threading.ManualResetEvent wait = new System.Threading.ManualResetEvent(false);
static void Main(string[] args)
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(PlaySong));
t.Start();
wait.WaitOne();
System.Threading.Thread.Sleep(2 * 1000);
waveout.Stop();
waveout.Dispose();
playback.Dispose();
}
static void PlaySong()
{
waveout = new WaveOut();
playback = OpenMp3Stream(@"songname.mp3");
waveout.Init(playback);
waveout.Play();
Console.WriteLine("Started");
wait.Set();
}
private static WaveChannel32 OpenMp3Stream(string fileName)
{
WaveChannel32 inputStream;
WaveStream mp3Reader = new Mp3FileReader(fileName);
WaveStream pcmStream = WaveFormatConversionStream.CreatePcmStream(mp3Reader);
WaveStream blockAlignedStream = new BlockAlignReductionStream(pcmStream);
inputStream = new WaveChannel32(blockAlignedStream);
return inputStream;
}
© Stack Overflow or respective owner