2016-02-08 6 views
14

MediaElementを使用してWebビデオを再生しています。私がページを去ったとき、私はタスクマネージャーに気づきました。私のアプリはまだネットワークの10%を使っていて、ビデオのダウンロードが終了するまで落ちませんでした。MediaElement webビデオのバッファリングが停止しない

私は次のことを試みましたが運がありません。

//open link; 
    mediaElement.Source = welcomeVideoURL; 

    //when I leave the page OnNavigatedFrom() 
    mediaElement.Stop(); 
    mediaElement.ClearValue(MediaElement.SourceProperty); 
    mediaElement.Source = null; 

また、ソースをダミーリンクに設定しようとしましたが、まだ運がありません。

ストリームとしてリンクを開き、mediaElement.SetSource()を使用すると思っていましたが、私はそれについて何も見つけられませんでした。

ありがとうございます。

+1

「mediaElement.AudioCategory = AudioCategory.ForegroundOnlyMedia'を試したことがありますか?そして、あなたのサーバーはHTTP範囲を扱うことができますか?そうでない場合は、ビデオを部分的にダウンロードする方法がなく、一度にダウンロードする必要があります。 – kiewic

+1

試してみましたが、うまく動作しません。また、廃止予定だと言います。私はMediaElementの中にあるバックグラウンドダウンローダーは廃棄しないと信じています。しかし、あなたのHttpRandomAccessStreamを試して、完璧に働いた! – Stamos

+1

['this'](http://stackoverflow.com/a/19295826/5697616)を見てください。状況によっては異なるかもしれませんが、 'isEnabled'を' false'に変更して標準の '.Stop()'を実行し、ハンドラでnullを指定することによって、ストリームを強制的に削除することができます。処理を強制することもできます – Gabe

答えて

2

見つかったMediaElementWithHttpClient他のものquestion @kiewicによるコメントです。私はストリームを管理し、プロセスをダウンロードして簡単に処理することができます。

HttpRandomAccessStream videoStream = await HttpRandomAccessStream.CreateAsync(new Windows.Web.Http.HttpClient(), videoUrl); 
mediaElement.SetSource(videoStream, videoStream.ContentType); 
関連する問題