Windows Media流媒体可以通过MMS协议或HTTP协议,在WindowsMedia Player中或在网页中嵌入相应ActiveX进行播放,我们主要讨论在网页中播放ASF流媒体文件的方法,这在网络教育中更有普遍意义。
   
    1. 在网页中播放ASF流媒体文件的原理
   
    在网页中播放ASF流媒体文件就是在网页中嵌入Windows Media Player ActiveX控件,通过此控件进行ASF文件的播放。以下是插入此控件的HTML代码。


    
    <OBJECT ID="WMPlay" width=320 height=240 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
   
    codebase="http://activex.microsoft.com/activex/controls/mplayer/en
   
    /nsmp2inf.cab#Version=5,1,52,701"
   
    standby="Loading Microsoft Windows Media Player components…" type="application/x-oleobject">
   
    <PARAM name="FileName" value="/bk/sizhongblog/demo.asf">
   
    <PARAM name="DisplaySize" value="0">
   
    <EMBED type="application/x-mplayer2"
   
    pluginspage="http://www.microsoft.com/isapi/redir.dll?
   
    prd=windows&sbp=mediaplayer&ar=media&sba=plugin"
   
    filename="demo.asf"
   
    displaysize="0"
   
    name="WMPlay"
   
    width=320 height=240
   
    ></EMBED>
   
    </OBJECT>
   
    其中<object>标签和<embed>标签的嵌套使用是为解决IE与Netscape浏览器的兼容性问题。在<object>标签中,classid指出了Windows Media Player ActiveX控件的版本;ID用于在网页中给这个控件命名,以便在网页中使用脚本(如javascript)对其进行调用(在<embed>标签中使用的是name);width和 height用于设定播放时整个显示区域的尺寸,PARAM用于设定控件的属性,例如name指出属性的名称,相应value则设定其属性值。
   
    特别要注意的是:设定播放的文件名属性时,通常是指向ASX文件,而并非直接指向ASF文件。这是因为ASX文件是meta文件。在使用Windows Media 服务功能来加强流媒体传输性能时,必须使用此ASX文件(详见文后的讨论),而不使用Windows Media 服务功能时也可使用ASX文件来对ASF文件定向,因此此处应将文件名属性指定为ASX文件,这样可在今后对流媒体的播放方式上有变化时不必修改网页。