hi,
同步
MediaElement 一次性只调用一个 MediaStreamSource方法。 因此,SeekAsync 请求不会在同一时间到达 GetSampleAsync 请求,也不会同时达到两个 GetSampleAsync 请求。 然而,仍然存在开发人员必须考虑的一些情况 MediaStreamSource:
查找
•
在桌面 Silverlight 中,在已完成所有优秀示例请求前,将不会传递 SeekAsync。 一个解决方案是第二次报告前面的示例。
•
在 Silverlight for Windows Phone 中,当优秀示例请求被挂起时,SeekAsync 请求将被传递。 不过,当该示例完成时,Silverlight for Windows Phone 会错误地将其扔掉。 如果该示例是一个密钥帧,它可能需要第二次报告示例。
缓冲转换
•
在 Silverlight for Windows Phone 中,调用ReportGetSampleProgress 不会阻止随后 GetSampleAsync 到达的调用。 缓冲是媒体状态,不是流状态。 调用任何流的 ReportGetSampleCompleted 将导致 MediaElement 退出缓冲。 因此,在对所有流完成缓冲前 MediaStreamSource 不应填写任何流的示例。
http://msdn.microsoft.com/zh-cn/library/hh180779(v=vs.95).aspx