如何使用MediaElement从数据库中以块的形式传输视频

时间:2012-03-22 11:50:30

标签: silverlight sql-server-2008 mediaelement

我有MediaElement播放视频。我将我的视频以二进制形式存储在我的SQL Server数据库中。

这对我有用的方法是Silverlight应用程序从Web服务读取所有二进制数据。 Web服务返回byte[],我将其转换为流,并设置为MediaElement的来源。

这个问题的一大问题是它需要在MediaElement的源设置之前读取所有数据。对于大型视频,这需要很长时间。

所以,我希望以某种方式拿出块和缓冲区,就像任何在线视频播放器一样。

关于我如何实际做到这一点的任何线索?

2 个答案:

答案 0 :(得分:1)

我最终做的有点不同了。 我无法从数据库中找出缓冲,所以我们设置了一个mediaserver,并使用了silverlight应用程序来代替它。

答案 1 :(得分:0)

我在Silverlight论坛上找到了this article,它有一个类似的问题(音频而不是视频)。

解决方案指出: “您可以尝试创建一个ASX文件来保存播放列表,并将ASX文件设置为MediaElement的源。”

解决方案中提供的其中一个链接继续说: “ASX文件只是一个XML文件,用于指定播放列表中的媒体文件。播放列表除其他外还提供了一组媒体的中心入口点。”

听起来您应该可以将MediaElement的来源设置为Silverlight PlaylistASX File,然后以块(可能作为单独的“文件”)下载您的视频),Playlist

希望这有帮助!