日期:2014-05-17  浏览次数:21090 次

网页中控制Windows Media Player播放器方法大全
http://hi.baidu.com/wxp886/blog/item/d3468feff0d49933adafd5ab.html

Windows Media Player是Microsoft公司提出的流播放方案 Media Service 的重要组成部分,是一个通用的媒体播放器。在Media Service解决方案中,Media Player是作为客户端流播放应用程序来使用的。事实上,Media Player既可以象一个普通的应用程序一样单独使用,播放本地或网络上的流信息;也可以由HTML文本中的超级连接来启动以播放流信息;它还可以作为一个ActiveX对象在Web页面中使用。Media Player作为一个通用的媒体播放器除了播放ASF格式的流信息之外,它还可以播放多种格式的媒体信息,包括:声音文件(.wav, .snd, .aif, .au, .mp3),MIDI文件(.mid, .rim, .midi),图象文件(.mov, .avi, .qt. .wmv, .mpg, .mpeg, m1v), 播放列表文件(.asx, .wax, .m3u)等。目前Media Player已经集成在Microsoft的IE5.0中,如果要在Netscape 或低版本的IE中使用Media Player则需要安装,用户可以在Microsoft的www.windowsmedia.com上去免费下载。Media Player的工作界面如图1 所示。下面我们将对Media Player的使用做详细的介绍。首先我们要简单地介绍如何将Media Player作为一个独立的应用程序来使用,以及如何在HTML建立hyperlink以启动Media Player。然后着重介绍如何在Web页中将Media Player作为一个ActiveX对象来使用,并用JavaScript对其工作过程进行控制。

图 1 Media Player的工作界面
1 将Media Player作为独立使用的应用程序
    将Media Player做为一个独立的应用程序的使用比较简单,只要在File菜单中选择Open,然后输入或选择要播放的文件就可以对该文件进行播放。如图2所示。如果要播放Media Server上广播的节目,可以在Open对话框中输入mms://IP_address/station_name 即可以直接播放Server上播放的节目。其中IP_address是Media Server的地址,而station_name是节目的站名。

图2 用Media Player直接播放ASF文件

2 利用ASX文件在HTML启动Media Player
    打开Media Player的另一种方式是用HTML中超级连接,这需要用一个ASX文件来辅助完成该工作。ASX(Advanced Stream Redirector)文件是一个文本文件,它主要的目的对流信息重定向。在ASX文件中包含了媒体内容对应的的URL(Uniform Resource Locator),当我们在HTML中让一个hyperlink 与ASX联系时,浏览器会直接将ASX的内容送给Media Player,Media Player会根据ASX文件的信息用相应的协议去打开指定位置上的多媒体信息流或多媒体文件。
    利用ASX文件来重定向流信息的主要原因是:目前通用的浏览器通常均不能直接支持用于播放流信息的协议,如Microsoft 的Media Server protocol (MMS) or Microsoft® NetShow™ Theater Server protocol。它们通常支持的协议是HTTP,FTP等协议。因此如果我们在HTML 文件中链接是http://www.microsoft.com,目前所有的浏览器均能用HTTP协议与一个WWW服务器建立连接。相反,如果我们需要一个Media Server建立连接以播放流信息,就必须用MMS协议,如mms://202.112.107.59/station1,但由于目前通用的浏览器通常均不能直接支持MMS协议,所以浏览器不能与Media Server建立连接。为了解决这个问题,必须采用ASX文件。采用ASX文件后,当浏览器发现一个连接与ASX有关时,它知道需要用Media Player来播放流信息,于是它会自动启动Media Player,并将ASX文件的信息送给Media Player,Media Player就可以用如MMS之类的协议来播放流信息了。    ASX文件是单纯的文本文件,我们可以用任何文本编辑器来编辑生成,但扩展名必须是.asx。下面给出了一个ASX文件的例子。
<asx version = "3.0">
<title>demo</title>
<entry>
    <ref href = "mms://202.112.107.59/demo/demo.asf"/>   
</entry>
</asx>
第一行是版本号,第二行是标题,在<entry></entry>之间的部分说明Media Player应用MMS协议去播放网络计算 202.112.107.59上demo路径下的demo.asf文件。
ASX文件可以有自己的TITLE,AUTHOR,COPYRIGHT之类的信息,它的<entry></entry>可以有多个,表示有多个流要播放,这被成为播放列表,每个<entry></entry>之间还有属于每个流的相关信息包括TITLE,AUTHOR,COPYRIGHT等。下面的例子中就有两个节目要播放,它们各自还有自己的信息。
<ASX VERSION="3.0">
    <TITLE>Example Media Player Show</TITLE>
    <AUTHOR>Windows Media Technologies</AUTHOR>
    <COPYRIGHT>(c) 1999, Microsoft Corporation</COPYRIGHT>

    <ENTRY>
        <TITLE>Example Clip</TITLE>
        <AUTHOR>Windows Media Technologies</AUTHOR>
        <COPYRIGHT>(c) 1999, Microsoft Corporation</COPYRIGHT>
        <REF HREF="mms://samples.microsoft.com/media.asf" />
    </ENTRY>

    <ENTRY>
        <TITLE>Another Clip</TITLE>
        <AUTHOR>Windows Media Technologies</AUTHOR>
        <COPYRIGHT>(c) 1999, Microsoft Corporation</COPYRIGHT>
        <REF HREF="mms://samples.microsoft.com/more_media.asf" />
    </ENTRY>
</ASX>
&n