我在ASP.NET应用程序的Silverlight 4岛中使用MediaElement
控件。 MediaElement
的源是使用带有transferMode="streamed"
的webHttpBinding的WCF数据服务中的方法。该方法返回Stream
。成功检索媒体并在客户端上播放。我遇到的问题是DownloadProgressChanged
事件,我在下载过程中尝试更新进度条。根据{{3}},此事件应该触发:
每当下载的总内容量增加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
}
以下是示例视频的结果:
无论视频的大小如何,DownloadProgress
值都会保持极小,直到它跳到1.随着视频大小的增加,这些极小值的数量也会增加。此事件是否应该正常用于流式响应?