有没有办法在C#播放audio(例如,MP3)直接从一个System.IO.Stream ,例如从WebRequest returend没有临时保存到磁盘的数据? NAudio解决scheme 在NAudio 1.3的帮助下,可以: 从一个URL加载一个MP3文件到一个MemoryStream 完全加载后,将MP3数据转换为波形数据 使用NAudio的WaveOut类播放波形数据 如果能够播放一个半载的MP3文件本来就不错,但由于NAudio库的devise,这似乎是不可能的。 这是做这项工作的function: 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; […]