Silverlight:MediaElement可以从下载流中播放吗?

时间:2011-05-24 07:37:15

标签: c# silverlight stream mediaelement

我试图找出是否可以从仍在下载的流中播放MediaElement中的视频,而不是等待它完成?我已经非常彻底地研究了这个主题,但没有找到明确的答案。

我正在尝试按需实现播放。我目前正在播放视频,将uri分配给MediaElement的Source,这是有效的。我想通过打开流中的uri并使用SetSource将Stream分配给MediaElement来更改此功能。

我编写了代码,它接受了uri,创建了一个WebClient,并使用OpenReadAsync开始从中读取。我已经将AllowReadStreamBuffering设置为false,以允许我一旦可用就从OpenReadComplete获取流(而不是等待它完成下载)。只要我有Stream的句柄,我就将它分配给MediaElement并尝试播放。

这当前导致System.Exception:2210错误。据我所知,资源存在并且可读,我不知道这是我的代码是错误的,或者是否根本不可能从不完整的流中回放MediaElement。

如果使用SetSource和Stream无法做到这一点,是否可以使用SetSource和MediaStreamSource类?我确实看过MediaStreamSource这个任务,但它似乎要求我编写解析传入流的代码并一次从中提取一个帧,这听起来很痛苦。

0 个答案:

没有答案