サーバーからWindows 8 Store(旧Metro)アプリケーションのMediaElement
にデータをストリーミングします。しかし、ストリーミング中にストリームを「記録」する必要があるので、再要求された場合はキャッシュから配信することができますので、URLを直接MediaElement
に送りたくありません。Windows 8の中でストリーミングする
現在、つまずきはMediaElement.SetSource()
私はHttpWebResponse.GetResponseStream()
から得るものである、IRandomAccessStream
、ないSystem.IO.Stream
を受け入れるということです。
動作しません。私が今持っているコード、:
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);
は私がオーディオをストリーミングすることを可能にする解決策はありますが、それは、リモートからの読み込みを終了したときに、私は、ディスクにストリームをコピーすることができます側?
は、あなたがそれを考え出したIRandomAccessStreamにストリームを変換するために、あなたを助けるだろうと思いますか?実際には私はそれを格納する必要はありません、私はちょうどそれを直接ストリームしたい。 – esskar
@esskarそうではありません。ストリーミングは、単にURLを提供するだけでうまく動作します。また、 'InMemoryRandomAccessStream'もあります。問題は、ストリームを2つの異なる場所に配信することです。情報をお寄せいただきありがとうございます。 –
私は '.Source'プロパティを直接設定しようとしましたが、私にとってはうまくいきません。 (私はどこか深いところでnull-ref例外を取得します)、URLの 'IRandomAccessStream'フォームを作成する方法を知りませんでした。しかし、私は今日それに取り組んでいます。 – esskar