□字幕
你可以用 .smi 文件来为你的节目添加字幕。媒体播放器支持下面的属性来处理字幕:
SAMIFileName 属性,指定 .smi 文件的名字;
SAMILang 属性,指定字幕的语言(如果没有指定则使用第一种语言);
SAMIStyle 属性,指定字幕的文字大小和样式;
ShowCaptioning 属性,决定是否显示字幕显示面板;
□脚本命令
伴随音频、视频流,你可以在流媒体文件中加入脚本命令。脚本命令是多媒体流中与特定时间同步的多对Unicode串。第一个串标识待发命令的类型,第二个串指定要执行的命令。
当流播放到与脚本相关的时间时,控件会向网页发送一个 scriptCommand事件,然后由事件处理进程来响应这个事件。脚本命令字符串会作为脚本命令事件的参数传递给事件处理器。
媒体播放器会自动处理下面类型的内嵌脚本命令:
1)URL型命令:当媒体播放器控件收到一个URL型的命令时,指定的URL会被装载到用户的默认浏览器。如果媒体播放器嵌在一个分帧的HTML文件中,URL页可以装载到由脚本命令指定的帧内。如果脚本命令没有指定一个帧,将由 DefaultFrame 属性决定将 URL 页装入哪一帧。
你可以通过设置 InvokeURLs 属性来决定是否自动处理 URL 型的脚本命令。如果这个属性的值为 false ,媒体播放器控件将忽视 URL型命令。但是脚本命令事件仍会触发,这就允许你有选择地处理 URL 型命令。
URL 型命令指定的是 URL 的相对地址。基地址是由 BaseURL属性指定的。媒体播放器控件传送的脚本命令事件的命令参数是链接好的地址。
2)FILENAME型命令:当媒体播放器控件收到一个FILENAME型的命令时,它将 FileName属性设置为脚本命令提供的文件,之后媒体播放器会打开这个文件开始播放。 媒体播放器控件总是自动处理 FILENAME 型命令,不象 URL 型命令,它们不能被禁止。
3)TEXT型命令:当媒体播放器控件收到一个 TEXT型的命令时,它会将命令的内容显示在控件的字幕窗口。内容可以是纯文本的,也可以是 HTML。
4)EVENT型命令:当媒体播放器控件收到一个 EVENT型的命令时,它会在媒体元文件中搜索 EVENT 元素的 NAME 属性。如果 NAME 属性与脚本命令中的第二个字符串匹配,媒体播放器控件就执行包含在 EVENT 元素中的条目。
5)OPENEVENT型命令:当媒体播放器控件收到一个 OPENEVENT型的命令时,它会在媒体元文件中检查 EVENT 元素,并打开匹配的标题,但不播放,直到收到来自 EVENT型命令的同名真实事件。
□捕捉键盘和鼠标事件
EnableContextMenu 与 ClickToPlay 属性为用户提供了在图像窗口进行操作的方法。
如果 EnableContextMenu 属性为 true ,在图像窗口右击鼠标可以打开关联菜单,如果将ClickToPlay 属性设为 true ,用户可以单击图像窗口进行播放与暂停的切换。
要接收鼠标移动和单击事件,请将 SendMouseMoveEvents 和 SendMouseClickEvents 属性设为 true 。鼠标事件有:
MouseDown,当用户按下鼠标时产生;
MouseUp,当用户释放鼠标时产生;
MouseMove,当用户移动鼠标时产生;
Click,当用户在媒体播放器上单击鼠标按钮时产生;
DbClick,当用户在媒体播放器上双击鼠标按钮时产生;
要接收键盘事件,请将 SendKeyboardEvents 属性设为 true 。键盘事件有:
KeyDown,当用户按下一个键时产生;
KeyUp,当用户释放一个键时产生;
KeyPRess,当用户按下并释放一个键时产生;
□监测流状态与网络链接
流状态属性包括:
PlayState:播放状态;
OpenState:打开状态;
Bandwidth:带宽;
监测流状态与网络链接
流状态属性包括:
PlayState:播放状态;
OpenState:打开状态;
Bandwidth:带宽;
支持的事件有:
OpenStateChange:打开状态改变(仅当SendOpenStateChangeEvents属性为true时触发)
PlayStateChange:播放状态改变(仅当SendPlayStateChangeEvents属性为true时触发)
EndOfStream:流结束时触发;
NewStream:打开新流时触发;
网络接收属性包括:
ReceptionQuality:接收质量;
ReceivedPackets:已经收到的包;
LostPackets:丢失的包;
监测缓冲的属性有:
BufferingTime:缓冲时间;
BufferingCount:缓冲次数;
BufferingProgress:缓冲进程;
Buffering:缓冲事件;
□错误处理
媒体播放器提供了内建的错误处理功能——在对话框或状态栏显示错误信息。 另外,你可以自己添加错误处理程序。如果 SendErrorEvents 属性设置为 true,将不会显示错误框,而是发送错误事件;如果 SendErrorEvents 属性设置为 false,将显示错误框,而是发送错误事件。
媒体播放器支持下面的错误处理事件:
Error 事件,指有危险性错误发生;
Warning 事件,指发生了非危险性的错误;
当你的应用程序接收到一个错误事件,你可以检测下面的属性来确定具体的错误信息:
HasError:检测目前的媒体播放器是否有错误;
ErrorCode:提供与该类型错误相关的代码值;
ErrorDescription:提供错误的描述信息;
ErrorCorrection:指定媒体播放器对该类型的错误进行校正;
□播放CD
媒体播放器将 CD 看作(在每个音轨的开头具有标记的)单一音频流。 要在网页中使用CD,你需要将 FileName 属性设为 CDAUDIO:,必须带有冒号,如下所示:
<HTML>
<HEAD><TITLE>CD Audio Playback Example</TITLE></HEAD>
<BODY>
<OBJECT ID="MediaPlayer"
CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
WIDTH="320"
HEIGHT="508"
STYLE="position:absolute; left:0px; top:70px;" >
<PARAM NAME="FileName" VALUE="cdaudio:">
<PARAM NAME="AutoStart" VALUE="0">
<PARAM NAME="ShowControls" VALUE="1">
<PARAM NAME="ShowStatusBar" VALUE="1">
<PARAM NAME="ShowDisplay" VALUE="1">
</OBJECT>
</BODY>
</HTML>
////////////////////////////////////////////////////////////
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
WMP、Real 的方法、事件和属性都很多,这里只列出一些常用同时又是最基本与重要的方法及属性。学习制作网页播放器必须首先熟练掌控她们!
她们真的非常重要。一个网页播放器,不管如何变化多端,都是这些方法、事件和属性衍生的功能延伸,如快进、快退,左、右声道,截取片段,重复、循环、随机播放,拖放,点播,进度条滚动,时间正序、倒序及上一首、下一首、第一首、末一首等等。这里需要说明的是,上面 Windows Media Player 的方法属性是针对 WMP 6.4 以上版本而言,6.4 以下版本的某些地方如全屏等是不同而有区别的。
简单的网页播放器谱乐在前面的专题中已列举了许多实例。即在 HTML 代码中插入:
<object classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6">
<param name = "url" value = "http://aboutplayer.com/aboutplayer.asx">// 参数 url 定义播放媒体的路径。
<param name = ……>// 还有很多这样的参数,都具有重要的功用!
……
</object>
上面是播放音频的代码,播放视频的只需在<object ……>中插入 width = "205" height = "100" 确定视频区域的宽、高即可,宽高比有 4:3、16:9 两种模式。
若再插入 type = "application/x-oleobject" 的代码,即可播放 SWF 等 Flash 类和 jpg、gif、png、bmp 等图片类媒体。
上述综合代码就是:
<object classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width = "205" height = "100" type = "application/x-oleobject">
<param name = "url" value = "http://aboutplayer.com/aboutplayer.asx">
<param name = ……>
……
</object>
这里 "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" 是 WMP 6.4 以上版本控件,6.4 以下版本控件代码是 "clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"。两者在参数等方面的定义上是有许多差异的!
windows Media Player 9.0网页播放器
(mp3.wma.wmv.asf)
以下图片为一般播mp3.wma文件时调用windows自带播放器windows Midia Player9.0所显示外观,非9.0版所显示的面板外观可能不同!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
代码简介:
width(播放器面板宽度)
height(播放器面板高度)
autostart(自动播放,“=1”或“=true”即是功能有效,“=0”即是手动播放)
loop(循环播放,“=2”即是循环播放两次,“=-1”或“=true”即是无限次循环播放)
可变值:false 或 0(手动开启);true 或 1(自动开启)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
(无文件信息显示)
银灰面板
<embed src="链接地址" width="300" height="45" loop="-1" autostart="true"></EMBED>
灰白面板
<embed style="FILTER: Gray()" src="链接地址" width="300" height="45" loop="-1" autostart="true"></EMBED>
棕色面板
<embed style="FILTER: invert()" src="链接地址" width=300 height=45 loop="-1" autostart="true"></EMBED>
黑色面板
<embed style="FILTER: xray()" src="链接地址" width=300 height=45 loop="-1" autostart="true"></EMBED>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
(带显示文件播放信息)
<embed src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>
灰白色面板
<embed style="FILTER: Gray()" src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>
<embed style="FILTER: invert()" src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>
<embed style="FILTER: xray()" src="链接地址" width=300 height=69 type=application/x-mplayer2 loop="-1" showcontrols="1" ShowDisplay="0" ShowStatusBar="1" autostart="1"></EMBED>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
(显示文件标签信息)
<embed src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED>
<embed style="FILTER: Gray()" src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED>
<embed style="FILTER: invert()" src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED>
<embed style="FILTER: xray()" src="链接地址" loop="-1" width=300 height=140 balance="true" showpositioncontrols="true" showtracker="true" showaudiocontrols="true" showcontrols="true" showstatusbar="true" showdisplay="true" displaysize="0" volume="100" autosize="true" autostart="true" animationatstart="true" transparentatstart="true"></EMBED>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
(有图像的media播放器)
<param name="volume" value="100">是调整默认音量的选项,100是最大音量!
<object id="mPlayer1" width=300 height=300 classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6">
<param name="URL" value="链接地址">
<param name="rate" value="1">
<param name="balance" value="0">
<param name="currentPosition" value="0">
<param name="defaultFrame" value>
<param name="playCount" value="100">
<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="1">
<param name="enableContextMenu" value="1">
<param name="fullScreen" value="0">
<param name="SAMIStyle" value>
<param name="SAMILang" value>
<param name="SAMIFilename" value>
<param name="captioningID" value>
<param name="enableErrorDialogs" value="0">
<param name="_cx" value="7779">
<param name="_cy" value="1693">
</object>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
以下三种加特效面板修改播放面板尺寸时,须将两组播放尺寸数值修改为一致才能正确显示。
如下例:width: 300px; HEIGHT: 300px" width="300" height="300"
光晕特效。
-----------------
opacity(不透明度)、finishopacity(平滑度)、style(风格类型)
style(风格类型):
“1”(强光偏左)、“2”(强光居中)、
“3”(方形发散强光)“4”(透明)
<embed style="filter:Alpha(opacity=10,finishOpacity=100,style=2); WIDTH: 300px; HEIGHT: 300px" src="链接地址" width="300" height="300" type="audio/mpeg" volume="100" loop="true" autostart="true" showstatusbar="1"></EMBED>
波浪扭曲:
lightstrength(亮度)、strength(波幅)、freq(波频)
-----------------------------------------------------------------------
<embed style="FILTER: wave(add=0,lightstrength=10,strength=8,freq=20,phrase=30); WIDTH: 300px; HEIGHT: 300px" src="链接地址" width="300" height="300" volume="0" loop="true" autostart="true" showstatusbar="1"></EMBED>
边缘雾化
-----------
<table style="FILTER: Alpha(Opacity=100, FinishOpacity=0, Style=2, StartX=20, StartY=40, FinishX=0, FinishY=0)gray(); WIDTH: 300px; HEIGHT: 45px">
<TBODY>
<TR>
<TD>
<EMBED style="BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid" src="链接地址" width=300 height=45 type=audio/x-mplayer2 console="video" showstatusbar="0" EnableContextMenu="0" volume="0" autostart="1" loop="-1">
</EMBED>
</TD>
</TR>
</TBODY>
</TABLE>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
RealPlayer网页播放面板
(rm.rmvb.ram)
音频播放器(无信息显示)
<OBJECT id=video2 height=30 width=300 classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA>
<PARAM NAME="_ExtentX" VALUE="13229">
<PARAM NAME="_ExtentY" VALUE="847">
<PARAM NAME="AUTOSTART" VALUE="-1">
<PARAM NAME="SHUFFLE" VALUE="0">
<PARAM NAME="PREFETCH" VALUE="0">
<PARAM NAME="NOLABELS" VALUE="0">
<PARAM NAME="SRC" VALUE="链接地址">
<PARAM NAME="CONTROLS" VALUE="controlpanel">
<PARAM NAME="CONSOLE" VALUE="Clip1">
<PARAM NAME="LOOP" VALUE="0">
<PARAM NAME="NUMLOOP" VALUE="0">
<PARAM NAME="CENTER" VALUE="0">
<PARAM NAME="MAINTAINaspECT" VALUE="0">
<PARAM NAME="BACKGROUNDCOLOR" VALUE="#000000">
</OBJECT>
音频播放器(显示播放数据)
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="300" height="50" id="RP2">
<param name="_ExtentX" value="10001">
<param name="_ExtentY" value="1270">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="链接地址">
<param name="CONTROLS" value="ControlPanel,StatusBar">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="true">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
调整高度可变化面板
显示播放数据
<embed src="链接地址" width="300" height="60" autostart="true" loop="true"></EMBED>
显示播放数据及文件信息
<embed src="链接地址" width="300" height="90" autostart="true" loop="true"></EMBED>
视频播放器
面板分为上下两部分,所以上下分别需要输入链接、调整高宽度。
上部为显示屏,宽高一般为:300x240、400x320、500x400。
下部播放面板的宽度和上部一致即可,高度不必调整。
-----------------------------------------
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" name="player" width="300" height="240 d="player">
<param name="_ExtentX" value="10001">
<param name="_ExtentY" value="6879">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="链接地址">
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="true">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="300" height="50" id="RP2">
<param name="_ExtentX" value="10001">
<param name="_ExtentY" value="1270">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="链接地址">
<param name="CONTROLS" value="ControlPanel,StatusBar">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="true">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>