我想從一臺服務器的數據流轉換成MediaElement
在我的Windows 8商店(原地鐵)的應用程序。不過,我需要「記錄」,而它是流流,因此它可以從緩存中提供,如果重新請求,所以我不想直接提供以下網址進入MediaElement
。與流穿針引線在Windows 8
目前,絆腳石是MediaElement.SetSource()
接受一個IRandomAccessStream
,而不是一個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);
是否有解決方案,讓我流音頻,而是讓我當它已經完成了從遠程讀取數據流複製到磁盤側?
你想通了?實際上我不需要存儲它,我只是想直接流式傳輸。 – esskar
@esskar不是。直接流僅通過提供URL,或'InMemoryRandomAccessStream'的偉大工程。問題是將流分發到兩個不同的位置。 –
感謝您的信息。我試圖'.Source'屬性直接設置,但它不爲我工作了。 (我在深處的某個地方得到一個null-ref異常),我還沒有想出如何創建一個URL的IRandomAccessStream。但今天我會努力。 – esskar