私はあなたのプレイリストを設定する方法がわからないが、私は、これはあなたがこれを行う方法です推測:
- あなたはMediaElement.MediaEndedイベント
- にあなたをサブスクライブのMediaElement
- を持っていますm38uファイルを解析してリストからMediaElement.Sourceにfistストリームを設定します。
- MediaElement.MediaEndedを処理し、リストから次のストリームを設定するたびに処理します。
本当ですか?はいの場合、問題は手順4です。新しいソースを設定するたびに、MediaElementがサーバーとバッファからストリームを要求し、少なくとも開始する何かがビデオを表示します。私はこれが3秒のトランジションを見る理由だと思います。これを解決する必要があります:
- あなたは同じMediaElementを持っています。
- あなた自身のIRandomAccessStreamインターフェイスを実装する必要があります.IntandomAccessStreamインターフェイスは、ストリームをメモリにダウンロードしたり、ディスクにダウンロードしたり、特定のバッファサイズのバッファストリームをダウンロードしたりすることができます。
- m38uファイルを解析し、最初にIRandomAccessStreamを初期化し、ソースとして設定します。
- たとえば、最初のビデオが90%の時間になると、再生リストから2番目のストリームを初期化し、IRandomAccessStreamでダウンロードを開始する必要があります。
- MediaElement.MediaEndedが発射された場合 - あなただけの手順4
からのストリームを設定する必要があるので、私はローカルファイルでそれを実行しようとしました、のMediaElementの準備ができているストリームを、バッファリングされていますが、それは与えました私は同じ遅い移行のパフォーマンス – Ateik
時にはローカルファイルも遅くなることができます。メモリを使用してみてください。これがうまくいかない場合は、ユーザーのためにサーバー上でそれらを組み合わせる必要があります。 – outcoldman