因為自己需要,所有,收集整理一下相關的資料
我們在網頁上看到的播放器無外乎WMP/RealOne/Macromedia Flash Player,其他的無非是面板不同,或者添加了其他控件,對於計算機上安裝的有些播放器也都是編碼和解碼器的整合,其最核心的編碼和解碼技術是相同的。例如:網路上最受歡迎的windows media串流(asf,wma,wmv格式...),Real串流(rm,rmvb...),還有MPEG系列編碼格式(MP4/MP3格式...)
WMP控件加入了ActiveX解碼器控件,不僅可以放曲子,還能放Flash和其它視訊檔案。
複製內容到剪貼簿代碼:
<object title="dvubb" align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="MediaPlayer" width="480" height="360">
<param name="AUTOSTART" value="false"/>
<param name="ShowStatusBar" value="-1"/>
<param name="Filename" value="你的視拼位址"/>
<embed title="dvubb" type="application/x-oleobject" codebase=" http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 " flename ="mp" src="你的視訊位址" width="480" height="360" autoplay="false"></embed>
</object>
上面的這個播放器是老式的那種,6.4版本!新式播放器是在WMP9.0以後出現的,也就是說只有裝了9.0或9.0以上的播放器才能正常使用的新式播放器代碼,相對以前的來說簡單很多:
複製內容到剪貼簿代碼:
<object height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" align="center" border="0"><param name="AutoStart" value="0" ><param name="Balance" value="0"><param name="enabled" value="-1"><param name="EnableContextMenu" value="-1"><param name="url" value ="{1}"><param name="PlayCount" value="1"><param name="rate" value="1"><param name="currentPosition" value="0"><param name= "currentMarker" value="0"><param name="defaultFrame" value=""><param name="invokeURLs" value="0"><param name="baseURL" value=""><param name= "stretchToFit" value="0"><param name="volume" value="100"><param name="mute" value="0"><param name="uiMode" value="mini"><param name="windowlessVideo" value="-1"><param name="fullScreen" value="0"><param name="enableErrorDialogs" value="-1"><param name="SAMIStyle" value><param name="SAMILang" value><param name="SAMIFilename" value><param name="captioningID" value></object>
Real系列播放器複製內容到剪貼簿代碼:
<object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="500" height="40" id="RealMoviePlayer" border="0"><param name="_ExtentX" value="13229" border="0"><param name="_ExtentX" value="13229" ><param name="_ExtentY" value="1058"><param name="AUTOSTART" value="0"><param name="SHUFFLE" value="0"><param name="PREFETCH" value=" 0"><param name="NOLABELS" value="0"><param name="CONTROLS" value="controlpanel"><param name="CONSOLE" value="_master"><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"><param name="SRC" value="REAL媒體檔案位址"></object>
Flash播放器複製內容到剪貼簿代碼:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase=" http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0, 0 " width="550" height="400"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="flash動畫位址"><param name="quality" value= "high"><param name="bgcolor" value="#ffffff"><embed src="flash動畫地址" quality="high" bgcolor="#ffffff" width="550" height="400" allowScriptAccess= "sameDomain" type="application/x-shockwave-flash" pluginspage=" http://www.macromedia.com/go/getflashplayer " /></object>
萬能自動網頁播放器代碼複製內容到剪貼簿代碼:
<embed src="媒體檔案URL位址" width=400 height=300 type="audio/mpeg" loop="-1" autostart="false" volume="0" style=""></embed>
WIDTH代表播放器寬度,HEIGHT代表高度,後面的數值可依自己喜好調整;
AUTOSTART="TRUE"或autoplay="true" 這裡TRUE代表自動播放,如果換成FALSE則代表手動播放;
LOOP="TRUE"代表循環播放;
style=“”代表風格,參數可以參考CSS濾鏡,可以省略;
type 可以省略;
其他可以看EMBED的程式碼詳細;Flash 的程式碼就不詳細說了!因為有些線上的Flash MP3 player但是常常會有些問題本來想給論壇加個FLASH的MP3播放器按鈕因為效果太差放棄了,使用萬能碼了!
不用指定播放器種類,系統會呼叫預設的播放器自動播放,一會詳細介紹,只要在程式碼的最外面加上object即可指定播放器!
引用:
(預設0為否,-1或1為是)
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="286" height="225">
<param name="AudioStream" value="/-1">
<param name="AutoSize" value="-1">
<!--是否自動調整播放大小-->
<param name="AutoStart" value="-1">
<!--是否自動播放-->
<param name="AnimationAtStart" value="-1">
<param name="AllowScan" value="-1">
<param name="AllowChangeDisplaySize" value="-1">
<param name="AutoRewind" value="0">
<param name="Balance" value="0">
<!--左右聲道平衡,最左-9640,最右9640-->
<param name="BaseURL" value>
<param name="BufferingTime" value="15">
<!--緩衝時間-->
<param name="CaptioningID" value>
<param name="ClickToPlay" value="-1">
<param name="CursorType" value="0">
<param name="CurrentPosition" value="0">
<!--目前播放進度-1 表示不變,0表示開頭單位是秒,例如10表示從第10秒開始播放,值必須是-1.0或大於等於0-->
<param name="CurrentMarker" value="0">
<param name="DefaultFrame" value>
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="16777215">
<param name="DisplayMode" value="0">
<param name="DisplaySize" value="0">
<!--視訊1-50%, 0-100%, 2-200%,3-全螢幕其它的值作0處理,小數則採用四捨五入然後按前的處理-->
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<!-是否用右鍵彈出式選單控制-->
<param name="EnablePositionControls" value="-1">
<param name="EnableFullScreenControls" value="-1">
<param name="EnableTracker" value="-1">
<!--是否允許拉動播放進度條到任何地方播放-->
<param name="Filename" value="01.wma" valuetype="ref">
<!--播放的檔案位址-->
<param name="InvokeURLs" value="-1">
<param name="Language" value="-1">
<param name="Mute" value="0">
<!--是否靜音-->
<param name="PlayCount" value="10">
<!--重複播放次數,0為始終重複-->
<param name="PreviewMode" value="-1">
<param name="Rate" value="1">
<!--播放速率控制,1為正常,允許小數-->
<param name="SAMIStyle" value>
<!--SAMI樣式-->
<param name="SAMILang" value>
<!--SAMI語言-->
<param name="SAMIFilename" value>
<!--字幕ID-->
<param name="SelectionStart" value="-1">
<param name="SelectionEnd" value="-1">
<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="0">
<!--顯示節目資訊,如版權等-->
<param name="ShowGotoBar" value="0">
<!--是否啟用上下文選單-->
<param name="ShowPositionControls" value="-1">
<!--是否顯示往前往後及列表,如果顯示一般也都是灰色不可控制-->
<param name="ShowStatusBar" value="-1">
<!--目前播放資訊,顯示是否正在播放,及總播放時間及目前播放到的時間-->
<param name="ShowTracker" value="-1">
<!--是否顯示目前播放追蹤列,即目前的播放進度條-->
<param name="TransparentAtStart" value="-1">
<param name="VideoBorderWidth" value="0">
<!--顯示部的寬部,如果小於視頻寬,則最小為視頻寬,或者加大到指定值,並自動加大高度.此改變只改變四周的黑框大小,不改變視頻大小-- >
<param name="VideoBorderColor" value="0">
<!--顯示黑色框的顏色, 為RGB值,例如ffff00為黃色-->
<param name="VideoBorder3D" value="0">
<param name="Volume" value="0">
<!--音量大小,負值表示是目前音量的減值,值自動會取絕對值,最大為0,最小為-9640-->
<param name="WindowlessVideo" value="0">
<!--如果是0可以允許全螢幕,否則只能在視窗中查看-->
</object>
上面的這個播放器是老式的那種,6.4版本!新式播放器是在MediaPlayer9.0以後出現的,也就是說只有裝了9.0或9.0以上的播放器才能正常使用的。
以下對WMP9的控制進行解析,其他播放的參數,基本上類似,參考下面的!
引用:
<object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<param NAME="AutoStart" VALUE="-1">
<!--是否自動播放-- www.devdao.com >
<param NAME="Balance" VALUE="0">
<!--調整左右聲道平衡,同上面舊播放器代碼-->
<param name="enabled" value="-1">
<!--播放器是否可人為控制-->
<param NAME="EnableContextMenu" VALUE="-1">
<!--是否啟用上下文選單-->
<param NAME="url" value="/blog/1.wma">
<!--播放的檔案位址-->
<param NAME="PlayCount" VALUE="1">
<!--播放次數控制,為整數-->
<param name="rate" value="1">
<!--播放速率控制,1為正常,允許小數,1.0-2.0-->
<param name="currentPosition" value="0">
<!--控制設定:目前位置-->
<param name="currentMarker" value="0">
<!--控制項設定:目前標記-->
<param name="defaultFrame" value="">
<!--顯示預設框架-->
<param name="invokeURLs" value="0">
<!--腳本指令設定:是否呼叫URL-->
<param name="baseURL" value="">
<!--腳本指令設定:被呼叫的URL-->
<param name="stretchToFit" value="0">
<!--是否按比例伸展-->
<param name="volume" value="50">
<!--預設聲音大小0%-100%,50則為50%-->
<param name="mute" value="0">
<!--是否靜音-->
<param name="uiMode" value="mini">
<!--播放器顯示模式:Full顯示全部;mini最簡化;None不顯示播放控制,只顯示視訊視窗;invisible全部不顯示-->
<param name="windowlessVideo" value="0">
<!--如果是0可以允許全螢幕,否則只能在視窗中查看-->
<param name="fullScreen" value="0">
<!--開始播放是否自動全螢幕-->
<param name="enableErrorDialogs" value="-1">
<!--是否啟用錯誤提示報告-->
<param name="SAMIStyle" value>
<!--SAMI樣式-->
<param name="SAMILang" value>
<!--SAMI語言-->
<param name="SAMIFilename" value>
<!--字幕ID-->
</object>
Real Player 網頁播放器參數意義引用:
參數:autostart 屬性:True或False 作用:指定是否自動播放指定的來源檔案參數:backgroundcolor 屬性:任何用符號「#」開頭的16進位數值或是任何預先定義的顏色作用:指定影像視窗的背景顏色參數:center 屬性:True或False 作用:指定片段使用初始編碼大小播放,並且在影像視窗的中央。
參數:classid 屬性:"clsid:CFCDAA03-8BE4-1lcf-B84B0020AFBBCCFA:** 作用:用於指定ActiveX控制項的唯一的字串標示,可以認出嵌入的RealPalyer播放器。
參數:console 屬性:任何字串作用:可以將各種不同的RealPlayer控制聚集在網頁上,這樣它們可以交互使用或是保持獨立,而且互相不影響參數:controls 屬性:ImageWindow,All,ControlPanel,PlavButton, PlayOnlyButton, PauseButton,StopButton,FFCtrl,RWCtrl,MuteCtrl,MuteVolume,VolumeSlider,PositionSlider,TACCtrl,HomeCtrl,InfoVolumePanel,Infoel,StatusBar,StatusField,PositionField :可以讓你指定的。
參數:height 屬性:任何整數值作用:指定RealPlayer元素的高度,單位:像素參數:id 屬性:任何字串作用:為標籤中的RealPlayer元素指定名字。
參數:imagestatus 屬性:True或False 作用:指定是否在影像視窗中顯示狀態訊息,預設值是true
參數:loop 屬性:True或False 作用:可以讓你指定片斷是否無限循環參數:maintainaspect 屬性:True或是False 作用:預設RealPlayer拉伸所有的片段來充滿整個映像視窗。
參數:name 屬性:任何字串作用:為標籤中的RealPlayer元素指定名字(在標籤中使用id)
參數:nojava 屬性:True或False 作用:避免啟動Java虛擬機參數:nolabels 屬性:True或是False 作用:可以禁止顯示標題或是版權資訊(realplayer5.0以上時,它是垃圾...)
參數:nologo 屬性:True或是False 作用:避免RealPlayer啟動時在圖像視窗中顯示參數:numloop 屬性:任何整數值作用:讓你能夠指定檔案片循環的次數,不需要參數loop
參數:prefetch 屬性:True或是False 作用:指定在播放前,RealPlayer是否可以獲得流描述訊息,預設值是False
參數:region 屬性:任何字串作用:同SMIL一起使用。允許你指定使用HTML代替SMIL
參數:scriptcallbacks 屬性:用逗號分割的列表作用:指定瀏覽器的回呼監控(好高級的東東!)
參數:shuffle 屬性:True或是False 作用:同多文件片的ram檔或是SMIL檔一起使用。可以讓RealPlayer隨機播放清單中的檔案參數:src 屬性:任何合法的相對或是完整的URL 作用:指定播放的檔案或是來源檔案的位址參數:type 屬性:字串作用:為嵌入插件指定MIME類型參數:width 屬性:任何整數值作用:指定RealPlayer元素的寬度
RealPlayer的一些函數、方法和過程這是Real Player ActiveX Control Library (Version 1.0) 的所有函數與方法,有興趣可以研究一下。
引用:
function GetSource: WideString;
procedure SetSource(const lpszNewValue: WideString);
function GetConsole: WideString;
procedure SetConsole(const lpszNewValue: WideString);
function GetControls: WideString;
procedure SetControls(const lpszNewValue: WideString);
function GetNoLabels: WordBool;
procedure SetNoLabels(bNewValue: WordBool);
function GetAutoStart: WordBool;
procedure SetAutoStart(bNewValue: WordBool);
function GetAutoGotoURL: WordBool;
procedure SetAutoGotoURL(bNewValue: WordBool);
function GetVolume: Smallint;
procedure SetVolume(nVol: Smallint);
function GetMute: WordBool;
procedure SetMute(bMute: WordBool);
function GetLoop: WordBool;
procedure SetLoop(bVal: WordBool);
function GetImageStatus: WordBool;
procedure SetImageStatus(bEnable: WordBool);
function GetPacketsTotal: Integer;
function GetPacketsReceived: Integer;
function GetPacketsOutOfOrder: Integer;
function GetPacketsMissing: Integer;
function GetPacketsEarly: Integer;
function GetPacketsLate: Integer;
function GetBandwidthAverage: Integer;
function GetBandwidthCurrent: Integer;
procedure DoPlayPause;
procedure DoStop;
procedure DoNextItem;
procedure DoPrevItem;
function CanPlayPause: WordBool;
function CanStop: WordBool;
function HasNextItem: WordBool;
function HasPrevItem: WordBool;
function HasNextEntry: WordBool;
function HasPrevEntry: WordBool;
procedure DoNextEntry;
procedure DoPrevEntry;
procedure AboutBox;
procedure EditPreferences;
procedure HideShowStatistics;
function IsStatisticsVisible: WordBool;
procedure DoGotoURL(const url: WideString; const target: WideString);
procedure DoPlay;
procedure DoPause;
function GetPosition: Integer;
function GetPlayState: Integer;
function GetLength: Integer;
function GetTitle: WideString;
function GetAuthor: WideString;
function GetCopyright: WideString;
function GetClipWidth: Integer;
function GetClipHeight: Integer;
function CanPlay: WordBool;
function CanPause: WordBool;
procedure SetPosition(lPosition: Integer);
function GetNumLoop: Integer;
procedure SetNumLoop(lVal: Integer);
function GetCenter: WordBool;
procedure SetCenter(bVal: WordBool);
function GetNoLogo: WordBool;
procedure SetNoLogo(bVal: WordBool);
function GetMaintainAspect: WordBool;
procedure SetMaintainAspect(bVal: WordBool);
function GetBackgroundColor: WideString;
procedure SetBackgroundColor(const pVal: WideString);
function GetStereoState: WordBool;
function GetLiveState: WordBool;
function GetShowStatistics: WordBool;
procedure SetShowStatistics(bVal: WordBool);
function GetShowPreferences: WordBool;
procedure SetShowPreferences(bVal: WordBool);
function GetShowonmouseover WordBool;
procedure SetShowAbou
網頁中WMP視訊控制使用指南
□播放方法和屬性除播放、暫停、停止外,媒體播放器還可用下面的屬性:
掃描(Scanning)-與錄影機的快轉快倒功能類似;
搜尋(Seeking)-直接移到剪輯中標記的特定上演時間;
□播放媒體播放器提供了兩種技巧來指定要播放的媒體名稱(剪輯),你可以設定FileName 屬性,或呼叫Open 方法。 如果AutoStart 屬性的值是true 的話,當FileName 屬性被設定成該電影剪輯的URL 後,該電影剪輯將開始播放;否則電影剪輯不會開始播放, 除非你呼叫Play 方法。 Open 方法開始播放是異步的,它不像Play 方法要等到其他的進程結束後才開始播放。
媒體播放器提供了下面的類似錄影機的屬性和方法來控制串流媒體的播放:
Play、Stop、Pause 方法,來開始、停止、暫停串流媒體。
PlayCount 屬性,設定檔案播放的次數。
AutoRewind 屬性,決定停止播放時是否返回影片剪輯的開始部分。
□音訊控制媒體播放器提供了下面的屬性來管理音訊:
Balance 屬性,決定左右音箱的聲音平衡;
Volume 屬性,用來增加或降低音量;
Mute 屬性,用來關閉或開啟聲音;
※你可以將ShowAudioControls 屬性設為true 來在控制列中加入處理聲音的控制項。
□掃描媒體播放器提供了下面的屬性用以掃描:
FastForward 方法,快轉;
FastReverse 方法,快倒;
Rate屬性,改變播放速率;
※要使電影剪輯能被掃描,必須將CanScan 和AllowScan 屬性設為true。
□搜尋用來搜尋的屬性有:
MarkerCount 屬性,指剪輯中標記的總數量;
CurrentMaker、GetMarkerName、GetMarkerTime 方法,用於傳回標記資訊;
MarkerHit 事件,當遇到標記時觸發;
CurrentPosition 屬性,目前位置(用秒度量),可用來將播放頭移到剪輯中指定的點;
PositionChange 事件,當設定CurrentPosition 屬性時觸發;
※要搜尋到任意的時間,必須將CanSeek 屬性設為true,要搜尋到標記點,必須將CanSeekToMarkers 屬性設為true。
□媒體播放器的外觀介面在網頁中,你可以透過相關屬性來控制媒體播放器的哪些部分出現,哪些部分不出現。
媒體播放器包括以下元素:
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 屬性設為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>
之後你可以用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: 標題 1</TITLE>
<REF href="/cdaudio:" />
<STARTMARKER NUMBER="1"/>
<ENDMARKER NUMBER="2"/>
</ENTRY>
<ENTRY>
<TITLE>Track 2: 標題 2</TITLE>
<REF href="/cdaudio:" />
<STARTMARKER NUMBER="2"/>
<ENDMARKER NUMBER="3"/>
</ENTRY>
<ENTRY>
<TITLE>Track 3: 標題 3</TITLE>
<REF href="/cdaudio:" />
<STARTMARKER NUMBER="3"/>
<ENDMARKER NUMBER="4"/>
</ENTRY>
<ENTRY>
<TITLE>Track 4: 標題 4</TITLE>
<REF href="/cdaudio:" />
<STARTMARKER NUMBER="4"/>
</ENTRY>
</ASX>
出處:記事閣