我正在尝试显示由另一方作为服务器端播放列表(ASX)提供的视频供稿。播放列表包含一些不受支持的功能,例如repeat:
<ASX VERSION="3.0">
<REPEAT COUNT="4">
<EntryRef href="http://some-ad-network.com/ad.asx" />
<Entry>
<Ref href="http://video-host/content-primary-source"></Ref>
</Entry>
<Entry>
<Ref href="http://video-host/content-secondary-source"></Ref>
</Entry>
</REPEAT>
</ASX>
Silverlight 2.0 doesn't support the REPEAT element并抛出异常:
REPEAT元素:不支持此功能 并将引发MediaError AG _ E _ ASX _ UNSUPPORTED _ ELEMENT。
有解决方法吗?我可以通过HttpWebRequest下载ASX文件,解析它,并单独请求流吗?你知道一个库或一些处理ASX文件解析的示例代码吗?
答案 0 :(得分:0)
属性获取MediaAttribute对象的集合,该对象对应于Source设置为的ASX文件中的当前条目。这是一个javascript示例:
答案 1 :(得分:0)
我最终不得不自己解析ASX文件并手动加载元素。如果加载ASX文件,Peter的建议很有用,但Silverlight ASX解析器在遇到大多数不受支持的元素时会抛出异常,因此您永远无法从Attributes属性加载。
答案 2 :(得分:0)
由于MediaElement中的asx处理错误,我还制作了自定义asx解析器。它纠正了几个错误,请参阅http://blog.revolunet.com/index.php/general/wpf-mediaelement-asx-workaround