C#Windows存储应用程序流来自URL的mp3

时间:2014-11-14 19:29:03

标签: c# windows-8

我在搜索SO和谷歌上搜索。

我试图找到一个如何从Windows应用商店应用流式传输互联网广播(mp3)的示例。 我找到的所有示例都是一小段无法正常工作的代码。

有人可以解释或显示我应该如何做的代码。

我一直在尝试使用mediaelement和其他一些东西。 我试过这个

public async void Play()
{
Uri bla = new Uri(string.Format("http://live-icy.gss.dr.dk/A/A04H.mp3.m3u"), UriKind.Absolute);
var uriStreamReference = RandomAccessStreamReference.CreateFromUri(bla);
var uriStream = await uriStreamReference.OpenReadAsync();
nm.SetSource(uriStream, "audio/mp4");
}

希望有人可以提供帮助

1 个答案:

答案 0 :(得分:0)

我知道这是旧的,但我有一个有效的例子。

InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream();
Uri uri = new Uri("http://live-icy.gss.dr.dk/A/A04H.mp3.m3u");
HttpClient hc = new HttpClient();
HttpResponseMessage msg = await hc.GetAsync(uri);
await RandomAccessStream.CopyAsync(await msg.Content.ReadAsInputStreamAsync(), stream);
stream.Seek(0);
myMediaElement.SetSource(stream, msg.Content.Headers.ContentType.ToString());

您必须记得在确定已完成Dispose()InMemoryRandomAccessStream时致电HttpClient。否则你最有可能最终导致内存泄漏。