用Windows Media 9 创建实况广播2

ZDNet软件频道 时间:2004-11-08 作者:Builder.com |  我要评论()
本文关键词:PhillipPerkins
在本系列的第一部分中,我介绍了Windows Media Encoder 9 Series 并为大家提供了Windows Media 9 Services 的一个概览。
本文译自Builder.com,未经许可请勿转载

在本系列的第一部分中,我介绍了Windows Media Encoder 9 Series 并为大家提供了Windows Media 9 Services 的一个概览。使用Encoder,我创建了一个在网络上发送广播数据流的 Web 页面。这次我将创建一个客户端页面,该页面用于接收广播和处理数据流中的任何专用命令。

Windows Media Player (WMP) 可以接收在元文件(metafile)中确定的广播数据流,元文件就像 WMP 的目录。这些基于 XML 的文件详细说明了与元文件相关的数据流以及有关流的参考信息,比如标题、作者和版权等。要使用特殊命令,或者给出有关流的信息,或者创建播放列表条目,都必须要使用元文件。

在这个例子中,我将指定有关我的广播流的一些信息:

<ASX version="3.0">
<TITLE>Basic Playlist Demo</TITLE>
    <ENTRY>
        <TITLE>This is a test.</TITLE>
        <AUTHOR>Phillip Perkins</AUTHOR>
        <COPYRIGHT>(c)2004 Phillip Perkins</COPYRIGHT>
        <REF href="http://ct.com.com/click?q=8c-LdLaQ6JEhMM_9Y3k3L~i_nMSW3dJ" />
    </ENTRY>
</ASX>

这段代码定义广播流。请注意<REF> 标签,它向客户端提供广播流的源地址。在设置Encoder 配置文件时,要给流起一个名称。在<REF> 标签的 HREF 属性中可以看到我的流的名称是 Live。

下面是客户端代码:

<html>
<head>

alert(scType + ", " + Param);
</script>
</head>
<body bgcolor="black">

<OBJECT id=player style="LEFT: 0px; TOP: 0px;" type=application/x-oleobject
 classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" VIEWASTEXT>
    <PARAM NAME="URL" VALUE="http://localhost/Develop/Media/wm_test.wvx">
    <PARAM NAME="rate" VALUE="1">
    <PARAM NAME="balance" VALUE="0">
    <PARAM NAME="currentPosition" VALUE="0">
    <PARAM NAME="defaultFrame" VALUE="">
    <PARAM NAME="playCount" VALUE="1">
    <PARAM NAME="autoStart" VALUE="-1">
    <PARAM NAME="currentMarker" VALUE="0">
    <PARAM NAME="invokeURLs" VALUE="-1">
    <PARAM NAME="baseURL" VALUE="">
    <PARAM NAME="volume" VALUE="100">
    <PARAM NAME="mute" VALUE="0">
    <PARAM NAME="uiMode" VALUE="full">
    <PARAM NAME="stretchToFit" VALUE="0">
    <PARAM NAME="windowlessVideo" VALUE="0">
    <PARAM NAME="enabled" VALUE="0">
    <PARAM NAME="enableContextMenu" VALUE="0">
    <PARAM NAME="fullScreen" VALUE="0">
    <PARAM NAME="SAMIStyle" VALUE="">
    <PARAM NAME="SAMILang" VALUE="">
    <PARAM NAME="SAMIFilename" VALUE="">
    <PARAM NAME="captioningID" VALUE="divCaptions">
    <PARAM NAME="enableErrorDialogs" VALUE="0">
</OBJECT>
<br><br>

<div id="divCaptions" style="
    width: 95%;
    font-size: 10pt;
    font-family: Verdana;
    color: lightsteelblue;
    height: 100px;
    border: 1px lightsteelblue solid;
    padding: 2px 2px;
">
</div>

</body>
</html>

这个页面的最重要的部分是<OBJECT> 标签指定的 WMP。有很多<PARAM> 与这个对象相关,但是(对于我这个应用来说)最重要的两个是 URL 参数和captioningID 参数。URL 是元文件的地址,captioningID 是显示任何标题的<DIV> 元素的 ID——在这个页面中是divCaptions。

在前面的例子中,我给了广播员发送 URL 命令给客户端的能力。在 URL 的结尾,我追加了字符串“&&frame2”。这就告诉 WMP 从哪一帧定位 URL。如果你有一个 Web 演示,或者你需要遍历一系列导出的幻灯片,这样就比较方便。你应该将这个 Web 页面包含在一帧中或者将“幻灯片”放在邻接的帧中。

Windows Media 9 Services 使创建自定义多媒体流和广播变得极为容易。它的另一个优势是其成本——Encoder 是可免费下载的,而且Windows Media 9 Services (服务器组件) 是作为 Windows 2003 Server 的一个选项提供的。


Phillip Perkins 的经验从机器控制、客户端服务器编程延伸到企业内部网应用程序。


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134