MediaElement
ASP.NET アプリケーション内の Silverlight 4 アイランドでコントロールを使用しています。のソースは、MediaElement
webHttpBinding with を使用する WCF データ サービスのメソッドtransferMode="streamed"
です。メソッドは を返しますStream
。メディアが正常に取得され、クライアントで再生されます。私が遭遇している問題はDownloadProgressChanged
、ダウンロード プロセス中に進行状況バーを更新しようとしている場合です。MSDN のドキュメントによると、このイベントは次のように発生するはずです。
ダウンロードされたコンテンツの合計量が 0.05 以上 (1.0 倍、完了を示す) 増加するか、1.0 に達したとき。
これは私が見ている動作ではありません。の値を出力するために次のコードを使用していますDownloadProgress
。
private void previewMediaElement_DownloadProgressChanged(object sender, RoutedEventArgs e)
{
Debug.WriteLine("progress = " + previewMediaElement.DownloadProgress);
// Update value of a progress bar
}
サンプルビデオの結果は次のとおりです。
- 進行状況 = 7.34134975033385E-15
- 進行状況 = 1.44467771079348E-14
- 進行状況 = 2.15522044655359E-14
- 進行状況 = 2.86576318231369E-14
- 進行状況 = 4.14781056723434E-14
- 進行状況 = 1
ビデオのサイズに関係なく、DownloadProgress
値は 1 にジャンプするまで非常に小さいままです。ビデオのサイズが大きくなるにつれて、これらの非常に小さい値の数も増加します。このイベントは、ストリーミングされた応答に対して正しく機能する必要がありますか?