1.avi格式
代碼片斷如下:
<object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="ShowDisplay" value="0">
<param name="ShowControls" value="1">
<param name="AutoStart" value="1">
<param name="AutoRewind" value="0">
<param name="PlayCount" value="0">
<param name="Appearance value="0 value=""">
<param name="BorderStyle value="0 value=""">
<param name="MovIEWindowHeight" value="240">
<param name="MovIEWindowWidth" value="320">
<param name="FileName" value="/Mbar.avi">
<embed width="400" height="200" border="0" showdisplay="0" showcontrols="1" autostart="1" autorewind="0" playcount="0" moviewindowheight="240" movIEwindowwidth="320" filename="/Mbar.avi" src="Mbar.avi">
</embed>
</object>
2.mpg格式
代碼片斷如下:
<object classid="clsid:05589FA1-C356-11CE-BF01-00AA0055595A" id="ActiveMovIE1" width="239" height="250">
<param name="Appearance" value="0">
<param name="AutoStart" value="-1">
<param name="AllowChangeDisplayMode" value="-1">
<param name="AllowHideDisplay" value="0">
<param name="AllowHideControls" value="-1">
<param name="AutoRewind" value="-1">
<param name="Balance" value="0">
<param name="CurrentPosition" value="0">
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="16777215">
<param name="DisplayMode" value="0">
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<param name="EnablePositionControls" value="-1">
<param name="EnableSelectionControls" value="0">
<param name="EnableTracker" value="-1">
<param name="Filename" value="/mpeg/halali.mpg" valuetype="ref">
<param name="FullScreenMode" value="0">
<param name="MovIEWindowsize" value="0">
<param name="PlayCount" value="1">
<param name="Rate" value="1">
<param name="SelectionStart" value="-1">
<param name="SelectionEnd" value="-1">
<param name="ShowControls" value="-1">
<param name="ShowDisplay" value="-1">
<param name="ShowPositionControls" value="0">
<param name="ShowTracker" value="-1">
<param name="Volume" value="-480">
</object>
3.smi格式
代碼片斷如下:
<OBJECT id=RVOCX classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA width=240 height=180>
<param name="_ExtentX" value="6350">
<param name="_ExtentY" value="4763">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="rm.rm">
<param name="CONTROLS" value="ImageWindow">
<param name="CONSOLE" value="console1">
<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"><embed src="real.smi" type="audio/x-pn-realaudio-plugin" console="Console1" controls="ImageWindow" height="180" width="240" autostart="true"></OBJECT>
4.rm格式
代碼片斷如下:
<OBJECT ID=video1 CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT=288 WIDTH=352>
<param name="_ExtentX" value="9313">
<param name="_ExtentY" value="7620">
<param name="AUTOSTART" value="0">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="0">
<param name="SRC" value="rtsp://203.*.*.35/vod/dawan-a.rm">
<param name="CONTROLS" value="ImageWindow">
<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"><embed SRC type="audio/x-pn-realaudio-plugin" CONSOLE="Clip1" CONTROLS="ImageWindow" HEIGHT="288" WIDTH="352" AUTOSTART="false">
</OBJECT>
5.wmv格式
代碼片斷如下:
<object id="NSPlay" width=200 height=180 classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en
/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" align="right" hspace="5">
<param name="AutoRewind" value=1>
<param name="FileName" value="/blog/******.wmv">
<param name="ShowControls" value="1">
<param name="ShowPositionControls" value="0">
<param name="ShowAudioControls" value="1">
<param name="ShowTracker" value="0">
<param name="ShowDisplay" value="0">
<param name="ShowStatusBar" value="0">
<param name="ShowGotoBar" value="0">
<param name="ShowCaptioning" value="0">
<param name="AutoStart" value=1>
<param name="Volume" value="-2500">
<param name="AnimationAtStart" value="0">
<param name="TransparentAtStart" value="0">
<param name="AllowChangeDisplaySize" value="0">
<param name="AllowScan" value="0">
<param name="EnableContextMenu" value="0">
<param name="ClickToPlay" value="0">
</object>
6.wma格式
放在 <body> 裡面。下面是部分解釋:
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" > <param name="Filename" value="/blog/1.Wma"><!--你文件的位置-->
<param name="PlayCount" value="1"><!--控制重復次數: “x”為幾重復播放幾次; x=0,無限循環。-->
<param name="AutoStart" value="0"><!--控制播放方式: x=1,打開網頁自動播放; x=0,按播放鍵播放。-->
<param name="ClickToPlay" value="1"><!--控制播放開關: x=1,可鼠標點擊控制播放或暫停狀態; x=0,禁用此功能。-->
<param name="DisplaySize" value="0"><!--控制播放畫面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。-->
<param name="EnableFullScreen Controls" value="1"><!--控制切換全屏: x=1,允許切換為全屏; x=0,禁用此功能。-->
<param name="ShowAudio Controls" value="1"><!--控制音量: x=1,允許調節音量; x=0,禁止音量調節。-->
<param name="EnableContext Menu" value="1"><!--控制快捷菜單: x=1,允許使用右鍵菜單; x=0,禁用右鍵菜單。-->
<param name="ShowDisplay" value="1"><!--控制版權信息: x=1,顯示電影及作者信息;x=0,不顯示相關信息-->
</object>
7.Windows Media Player 系列(不同面板樣式)
綜合型:
<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 codebase="http://activex.microsoft.com/activex/controls/mplayer
/en/nsmp2inf.cab#Version=6,1,5,217"
id=MediaPlayer type=application/x-oleobject width=210 height=340 standby="Loading Microsoft Windows Media Player components..." VIEWASTEXT align=MIDDLE>
<param name=AudiOStream value=-1>
<param name=AutoSize value=0>
<param name=AutoStart value=1>
<param name=AnimationAtStart value=0>
<param name=AllowScan value=-1>
<param name=AllowChangeDisplaySize value=0>
<param name=AutoRewind value=0>
<param name=Balance value=0>
<param name=BaseURL value="">
<param name=BufferingTime value=5>
<param name=CaptioningID value="">
<param name=ClickToPlay value=0>
<param name=CursorType value=32512>
<param name=CurrentPosition value=-1>
<param name=CurrentMarker value=0>
<param name=DefaultFrame value=1>
<param name=DisplayBackColor value=0>
<param name=DisplayForeColor value=16777215>
<param name=DisplayMode value=0>
<param name=DisplaySize value=0>
<param name=Enabled value=-1>
<param name=EnableContextMenu value=-1>
<param name=EnablePositionControls value=0>
<param name=EnableFullScreenControls value=0>
<param name=EnableTracker value=1>
<param name=Filename value="http://202.102.*.*/Flash/2/fff.swf">
<param name=InvokeURLs value=-1>
<param name=Language value=-1>
<param name=Mute value=0>
<param name=PlayCount value=1>
<param name=PrevIEwMode value=0>
<param name=Rate value=1>
<param name=SAMILang value="">
<param name=SAMIStyle value="">
<param name=SAMIFileName value="">
<param name=SelectionStart value=0>
<param name=SelectionEnd value=true>
<param name=SendOpenStateChangeEvents value=-1>
<param name=SendWarningEvents value=-1>
<param name=SendErrorEvents value=-1>
<param name=SendKeyboardEvents value=0>
<param name=SendMouseClickEvents value=0>
<param name=SendMouseMoveEvents value=0>
<param name=SendPlayStateChangeEvents value=-1>
<param name=ShowCaptioning value=0>
<param name=ShowControls value=1>
<param name=ShowAudioControls value=1>
<param name=ShowDisplay value=1>
<param name=ShowGotoBar value=1>
<param name=ShowPositionControls value=1>
<param name=ShowStatusBar value=1>
<param name=ShowTracker value=1>
<param name=TransparentAtStart value=0>
<param name=VideoBorderWidth value=0>
<param name=VideoBorderColor value=0>
<param name=VideoBorder3D value=0>
<param name=Volume value=-1070>
<param name=WindowlessVideo value=1>
</object>
簡易型:
<EMBED src=http://www.*.com/mediadate/lxlhbcn.asf style="HEIGHT: 45px; WIDTH: 190px" type=audio/mpeg AUTOSTART="1" loop="0">
</EMBED>
標簽型:
<embed width=240 height=140 transparentatstart=true animationatstart=false autostart=true autosize=false volume=100 displaysize=0 showdisplay=true showstatusbar=true showcontrols=true showaudiocontrols=true showtracker=true showpositioncontrols=true balance=true src="http://www.*.com/mediadate/lxlhbcn.asf">
</embed>
媒體播放器的外觀界面
在網頁中,你可以通過相關屬性來控制媒體播放器的哪些部分出現,哪些部分不出現。
媒體播放器包括如下元素:
Video Display Panel:視頻顯示面板;
Video Border:視頻邊框;
Closed Captioning Display Panel;字幕顯示面板;
Track Bar;搜索欄;
Control Bar with Audio and Position Controls:帶有聲音和位置控制的控制欄;
Go To Bar:轉到欄;
Display Panel:顯示面板;
Status Bar:狀態欄;
下面的屬性用來決定顯示哪一個元素:
ShowControls 屬性:是否顯示控制欄(包括播放控件及可選的聲音和位置控件);
ShowAudioControls 屬性:是否在控制欄顯示聲音控件(靜音按鈕和音量滑塊);
ShowPositionControls 屬性:是否在控制欄顯示位置控件(包括向後跳進、快退、快進、向前跳進、預覽播放列表中的每個剪輯);
ShowTracker 屬性:是否顯示搜索欄;
ShowDisplay 屬性:是否顯示顯示面板(用來提供節目與剪輯的信息);
ShowCaptioning 屬性:是否顯示字幕顯示面板;
ShowGotoBar 屬性:是否顯示轉到欄;
ShowStatusBar 屬性:是否顯示狀態欄;
播放列表
媒體播放器提供下面的方法來訪問播放列表中的剪輯:
Next 方法,跳到節目(播放列表)中的下一個剪輯;
Previous 方法,跳回到節目中的上一個剪輯;
媒體播放器的一個特性是能夠預覽節目中的每一個剪輯,使用如下屬性:
PrevIEwMode 屬性,決定媒體播放器當前是否處於預覽模式;
CanPrevIEw 屬性,決定媒體播放器能否處於預覽模式;
在Windows 媒體元文件中,可以為每一個剪輯指定預覽時間——PREVIEWDURATION,如果沒有指定,那麼默認的預覽時間是10秒鐘。
你也可以用Windows 媒體元文件來添加 watermarks 與 banners,元文件也支持插入廣告時的無間隙流切換。
節目信息
使用 GetMediaInfoString 方法可以返回相關剪輯或節目的如下信息:
文件名:File name
標題:Title
描述:Description
作者:Author
版權:Copyright
級別:Rating
URLs:logo icon、watermark、banner的地址
剪輯信息可以放在媒體文件中,也可以放在Windows 媒體元文件中,或者兩者都放。如果在元文件中指定了剪輯信息,那麼用 GetMediaInfoString 方法返回的就是元文件中的信息,而不會返回剪輯中包含的信息。
在元文件中,附加信息可以放置在每一個剪輯或節目的 PARAM標簽中。你可以為每個剪輯添加任意多個 PARAM 標簽,用來存儲自定義的信息或鏈接到相關站點。在 PARAM 標簽中的信息可以通過 GetMediaParameter 方法來訪問。
下面的屬性返回有關大小和時間的信息:
ImageSourceHeight、ImageSourceWidth:返回圖像窗口的顯示尺寸;
Duration 屬性,返回剪輯的長度(秒), 要檢測這個屬性是否包含有效的數值,請檢查IsDurationValid 屬性。(對於廣播的視頻,其長度是不可預知的)。
字幕
你可以用 .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:帶寬;
支持的事件有:
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 屬性設為 CDAUDI,必須帶有冒號,如下所示:
<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="cdaudi">
<PARAM NAME="AutoStart" VALUE="0">
<PARAM NAME="ShowControls" VALUE="1">
<PARAM NAME="ShowStatusBar" VALUE="1">
<PARAM NAME="ShowDisplay" VALUE="1">
</OBJECT>
</BODY>
</Html>
之後你可以用 Play 方法播放 CD 了。
你可以在 Windows 媒體元文件中指定播放順序以及每個音軌的信息。示例如下:
<ASX VERSION="3.0">
<TITLE>CD Audio with the Media Player</TITLE>
<AUTHOR>Windows Media TechnologIEs</AUTHOR>
<COPYRIGHT>(c) 1999, Microsoft, Inc.</COPYRIGHT>
<ENTRY>
<TITLE>Track 1: Title 1</TITLE>
<REF href="/blog/cdaudi" />
<STARTMARKER NUMBER="1"/>
<ENDMARKER NUMBER="2"/>
</ENTRY>
<ENTRY>
<TITLE>Track 2: Title 2</TITLE>
<REF href="/blog/cdaudi" />
<STARTMARKER NUMBER="2"/>
<ENDMARKER NUMBER="3"/>
</ENTRY>
<ENTRY>
<TITLE>Track 3: Title 3</TITLE>
<REF href="/blog/cdaudi" />
<STARTMARKER NUMBER="3"/>
<ENDMARKER NUMBER="4"/>
</ENTRY>
<ENTRY>
<TITLE>Track 4: Title 4</TITLE>
<REF href="/blog/cdaudi" />
<STARTMARKER NUMBER="4"/>
</ENTRY>
</ASX>