2009-01-20 47 views
0

我试图显示由另一方作为服务器端播放列表(ASX)提供的视频馈送。播放列表包含一些不支持的功能,如重复:如何处理使用Silverlight不支持的功能的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并抛出一个异常:

重复元件:这是不支持 和将引发MediaError与 AG _Ë_ ASX _ UNSUPPORTED _ ELEMENT。

是否有解决方法?我可以通过HttpWebRequest下拉ASX文件,解析它,并单独请求流?你知道一个库或一些处理ASX文件解析的示例代码吗?

回答

0

我结束了不必解析ASX文件自己和手动加载的元素。如果加载ASX文件,Peter的建议很有帮助,但Silverlight ASX解析器在遇到大多数不受支持的元素时会抛出异常,因此您从来没有机会从Attributes属性加载。

0

属性获取MediaAttribute对象的集合,该集合对应于Source设置为的ASX文件中的当前条目。这里是一个JavaScript示例:

http://msdn.microsoft.com/en-us/library/bb412367.aspx

+0

我无法在Silverlight中加载ASX文件 - 它会引发异常。如果我无法加载属性,我该如何获取属性? – 2009-01-20 20:44:52