我有MediaElement
播放视频。我将我的视频以二进制形式存储在我的SQL Server数据库中。
这对我有用的方法是Silverlight应用程序从Web服务读取所有二进制数据。 Web服务返回byte[]
,我将其转换为流,并设置为MediaElement
的来源。
这个问题的一大问题是它需要在MediaElement
的源设置之前读取所有数据。对于大型视频,这需要很长时间。
所以,我希望以某种方式拿出块和缓冲区,就像任何在线视频播放器一样。
关于我如何实际做到这一点的任何线索?
答案 0 :(得分:1)
我最终做的有点不同了。 我无法从数据库中找出缓冲,所以我们设置了一个mediaserver,并使用了silverlight应用程序来代替它。
答案 1 :(得分:0)
我在Silverlight论坛上找到了this article,它有一个类似的问题(音频而不是视频)。
解决方案指出: “您可以尝试创建一个ASX文件来保存播放列表,并将ASX文件设置为MediaElement的源。”
解决方案中提供的其中一个链接继续说: “ASX文件只是一个XML文件,用于指定播放列表中的媒体文件。播放列表除其他外还提供了一组媒体的中心入口点。”
听起来您应该可以将MediaElement
的来源设置为Silverlight Playlist
或ASX File
,然后以块(可能作为单独的“文件”)下载您的视频),Playlist
。
希望这有帮助!