我在搜索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");
}
希望有人可以提供帮助
答案 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
。否则你最有可能最终导致内存泄漏。