如何在C#的在线资源中播放.mp3文件?

我的问题与这个问题非常相似

我有音乐url。 url如http://site.com/audio.mp3 。 我想在线播放这个文件,比如youtube。 你知道一个类或代码可以做到这一点吗?

如何在不播放全部播放的情况下在线播放mp3?

将创建播放文件缓存但至少立即播放该文件

我找到了库NAudio的解决方案http://naudio.codeplex.com/

public static void PlayMp3FromUrl(string url) { using (Stream ms = new MemoryStream()) { using (Stream stream = WebRequest.Create(url) .GetResponse().GetResponseStream()) { byte[] buffer = new byte[32768]; int read; while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) { ms.Write(buffer, 0, read); } } ms.Position = 0; using (WaveStream blockAlignedStream = new BlockAlignReductionStream( WaveFormatConversionStream.CreatePcmStream( new Mp3FileReader(ms)))) { using (WaveOut waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback())) { waveOut.Init(blockAlignedStream); waveOut.Play(); while (waveOut.PlaybackState == PlaybackState.Playing ) { System.Threading.Thread.Sleep(100); } } } } }` 

我在这里找到了回答使用C#从流中播放音频

像IrKlang这样的许多图书馆都提供流媒体音频支持,如果你正在寻找最小的开发工作,我建议你去看看吧!

http://www.ambiera.com/irrklang/