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