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

问题描述:

我的问题很相似,这question如何从C#中的在线资源中播放.mp3文件?

我对音乐的URL。网址为http://site.com/audio.mp3。我想在线播放 这个文件,就像youtube一样。你知道一个班级或代码可以做 这个吗?

如何在线播放mp3而无需下载全部播放?

播放的文件缓存将被创建,但至少播放的文件立即像IrKlang

我发现溶液中的文库n音讯 http://naudio.codeplex.com/

SOLUTION

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); 
       } 
      } 
     } 
    } 
}` 

我找到答案该处 Play audio from a stream using C#

许多图书馆提供音频流的支持,如果你正在寻找少量的开发工作,我建议你拿一看吧!

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