C# - Afspil lyd fra Stream
Hej eksperter,jeg vil gerne kunne afspille musik fra en Stream i C#,
jeg har søgt på google og fudnet et lovende API: NAudio,
til det har jeg også fundet et kode eksempel, dog er problemet ved eksemplet at den ikke kan afspille før hele streamen er hentet ned, ville gerne have en slags buffer funktion, hvor den henter lidt lyd, afpsiller, henter lidt lyd..... osv.
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);
}
}
}
}
}
På forhånd mange tak
Magnus