我想将数据从服务器流式传输到MediaElement
我的 Windows 8 应用商店(以前的 Metro)应用程序中。但是,我需要在流式传输时“记录”流,因此如果重新请求它可以从缓存中提供,所以我不想将 URL 直接输入到MediaElement
.
目前,绊脚石是MediaElement.SetSource()
接受a ,而IRandomAccessStream
不是 a System.IO.Stream
,这是我从中得到的HttpWebResponse.GetResponseStream()
。
我现在拥有的代码不起作用:
var request = WebRequest.CreateHttp(url);
request.AllowReadStreamBuffering = false;
request.BeginGetResponse(ar =>
{
var response = ((HttpWebResponse)request.EndGetResponse(ar));
// this is System.IO.Stream:
var stream = response.GetResponseStream();
// this needs IRandomAccessStream:
MediaPlayer.SetSource(stream, "audio/mp3");
}, null);
是否有一种解决方案可以让我流式传输音频,但允许我在从远程端完成读取后将流复制到磁盘?