我的问题与此question
非常相似我有音乐网址。像http://site.com/audio.mp3这样的网址。我想玩 这个文件在线,像youtube。你知道一个类或代码可以做什么 这个?
如何在不下载全部播放的情况下在线播放mp3?
将创建播放文件缓存的,但至少会立即播放该文件
答案 0 :(得分:4)
我找到了库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);
}
}
}
}
}`
我在这里找到答案 Play audio from a stream using C#
答案 1 :(得分:1)
像IrKlang这样的许多图书馆都提供流媒体音频支持,如果你正在寻找最小的开发工作,我建议你去看看吧!