常用網頁播放器代碼

常用網頁播放器代碼

我們在網頁上看到的播放器無外乎WMP/RealOne/Macromedia Flash Player,其他的無非是面板不同,或者添加了其他控件,對於計算機上安裝的一些播放器也都是編碼和解碼器的整合,其最核心的編碼和解碼技術是相同的。例如:網絡上最流行的windows media流(asf,wma,wmv格式...),Real流(rm,rmvb...),還有MPEG系列編碼格式(MP4/MP3格式...) 
Windows Media Video 是微軟推出的一種流媒體格式,它是在“同門”的ASF(Advanced Stream Format)格式升級延伸來得.在同等視頻質量下,WMV格式的體積非常小,因此很適合在網上播放和傳輸。Windows Media Player9兼容所有格式的WMV,官方編碼器是Windows Media Encoder ,但是如果你想轉制 高質量的wmv文件,那您一定要有超大的內存來處理數據... 
無意中發現CASTPOST的播放器可以自己定義大小,對於WMV格式的在線播放可以說已經足夠快了,然後就費了好大勁把一些精彩的短片和一些經典的MTV轉化WMV格式放了上來,儘管現在不能下載了,但是隻要不是連接人數過多,播放起來還是很流暢的^_^

WMP加入了ActiveX解碼器控件,不僅可以放曲子,還能放Flash和其它視頻文件 
<o**ect align=middle classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class=OBJECT id=MediaPlayer width=196 height=196> 
<param name=ShowStatusBar value=0> 
<param name=Filename value="http://202.116.*.*/video/story/chinese/hynh/b.wmv"> 
<embed type=application/x-oleo**ect codebase="http://activex.microsoft.com/activex/con ... n/nsmp2inf.cab#Version=5,1,52,701" > 
</embed> 
</o**ect> 
想用WMP連續播放請參照ASX元文件使用講解:使用ASX播放列表吧

上面的這個播放器是老式的那種,6.4版本!新式播放器是在MediaPlayer9.0以後出現的,也就是說只有裝了9.0或9.0以上的播放器才能正常使用的。


下面是新式播放器代碼,相對以前的來說要簡單很多: 
<o**ect id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"> 
<param NAME="AutoStart" VALUE="-1"> 
<!--是否自動播放--> 
<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--> 
</o**ect>


--------------------------------------------------------------------------------


RealOne播放器代碼: 
<o**ect id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AF*CCFA" width=427 height=300> 
<param name="_ExtentX" value="11298"> 
<param name="_ExtentY" value="7938"> 
<param name="AUTOSTART" value="-1"> 
<param name="SHUFFLE" value="0"> 
<param name="PREFETCH" value="0"> 
<param name="NOLABELS" value="-1"> 
<param name="SRC" value="rtsp://211.89.225.1/encoder/cnr3";> 
<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"> 
</o**ect> <o**ect id="vid2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AF*CCFA" width=427 height=30> 
<param name="_ExtentX" value="11298"> 
<param name="_ExtentY" value="794"> 
<param name="AUTOSTART" value="-1"> 
<param name="SHUFFLE" value="0"> 
<param name="PREFETCH" value="0"> 
<param name="NOLABELS" value="-1"> 
<param name="SRC" value="rtsp://211.89.225.1/encoder/cnr3";> 
<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"> 
</o**ect>

--------------------------------------------------------------------------------

看着很多很複雜的樣子,其實就是多了些播放器參數,可以不要... 
Real Player 網頁播放器 參數含義

參數:autostart 屬性:True或是False 作用:指定是否自動播放指定的源文件 
參數:backgroundcolor 屬性:任何用符號“#”開頭的16進制數值或是任何預定義的顏色作用:指定圖像窗口的背景顏色 
參數:center 屬性:True或是False 作用:指定片斷使用初始編碼大小播放,並且在圖像窗口的中央。 
參數:classid 屬性:"clsid:CFCDAA03-8BE4-1lcf-B84B0020AF*CCFA:** 作用:用於指定ActiveX控件的唯一的字符串標示,可以認出嵌入的RealPalyer播放器。 
參數:console 屬性:任何字符串作用:可以將各種不同的RealPlayer控制聚集在網頁上,這樣它們可以交互使用或是保持獨立,而且互相不影響 
參數:controls 屬性:ImageWindow,All,ControlPanel,PlavButton,PlayOnlyButton, PauseButton,StopButton,FFCtrl,RWCtrl,MuteCtrl,MuteVolume,VolumeSlider,PositionSlider,TACCtrl,HomeCtrl,InfoVolumePanel,InfoPanel,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 屬性:任何字符串作用:同*IL一起使用。允許你指定使用HTML代替*IL 
參數:scriptcallbacks 屬性:用逗號分割的列表作用:指定瀏覽器的回調監控(好高級的東東!) 
參數:shuffle 屬性:True或是False 作用:同多文件片的ram文件或是*IL文件一起使用。可以讓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 GetBandwidth*erage: 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 SetShowAbout(bVal: WordBool); 
function GetOriginalSize: WordBool; 
procedure SetOriginalSize; 
function GetDoubleSize: WordBool; 
procedure SetDoubleSize; 
function GetFullScreen: WordBool; 
procedure SetFullScreen; 
function GetEnableContextMenu: WordBool; 
procedure SetEnableContextMenu(bVal: WordBool); 
function GetEnableOriginalSize: WordBool; 
procedure SetEnableOriginalSize(bVal: WordBool); 
function GetEnableDoubleSize: WordBool; 
procedure SetEnableDoubleSize(bVal: WordBool); 
function GetEnableFullScreen: WordBool; 
procedure SetEnableFullScreen(bVal: WordBool); 
function GetEnableMessageBox: WordBool; 
procedure SetEnableMessageBox(bVal: WordBool); 
procedure SetTitle(const pVal: WideString); 
procedure SetAuthor(const pVal: WideString); 
procedure SetCopyright(const pVal: WideString); 
function GetWantKeyboardEvents: WordBool; 
procedure SetWantKeyboardEvents(bWantsEvents: WordBool); 
function GetWantMouseEvents: WordBool; 
procedure SetWantMouseEvents(bWantsEvents: WordBool); 
function GetNumEntries: Smallint; 
function GetCurrentEntry: Smallint; 
function GetEntryTitle(uEntryIndex: Smallint): WideString; 
function GetEntryAuthor(uEntryIndex: Smallint): WideString; 
function GetEntryCopyright(uEntryIndex: Smallint): WideString; 
function GetEntryAbstract(uEntryIndex: Smallint): WideString; 
procedure SetCanSeek(bCanSeek: WordBool); 
function GetCanSeek: WordBool; 
function GetBufferingTimeElapsed: Integer; 
function GetBufferingTimeRemaining: Integer; 
function GetConnectionBandwidth: Integer; 
function GetPreferedLanguageString: WideString; 
function GetPreferedLanguageID: Integer; 
function GetUserCountryID: Integer; 
function GetNumSources: Smallint; 
function GetSourceTransport(nSourceNum: Smallint): WideString; 
function GetWantErrors: WordBool; 
procedure SetWantErrors(bVal: WordBool); 
function GetShuffle: WordBool; 
procedure SetShuffle(bVal: WordBool); 
function GetVersionInfo: WideString; 
function GetLastMessage: WideString; 
function GetLastErrorSeverity: Integer; 
function GetLastErrorRMACode: Integer; 
function GetLastErrorUserCode: Integer; 
function GetLastErrorUserString: WideString; 
function GetLastErrorMoreInfoURL: WideString; 
procedure SetPreFetch(bVal: WordBool); 
function GetPreFetch: WordBool; 
procedure SetRegion(const pVal: WideString); 
function GetRegion: WideString; 
function GetIsPlus: WordBool; 
function GetConsoleEvents: WordBool; 
procedure SetConsoleEvents(bVal: WordBool); 
function GetDRMInfo(const pVal: WideString): WideString; 
property ControlInterface: IRealAudio read GetControlInterface; 
property DefaultInterface: IRealAudio read GetControlInterface; 
 


網頁中wmp視頻控制之使用指南

//wmplayer.controls.currentPosition = wmplayer.currentMedia.duration * (i / 100) 
// 
// 
// 
□播放方法和屬性 
除播放、暫停、停止外,媒體播放器還可用下面的屬性: 
掃描(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 媒體元文件中,或者兩者都放。

剪輯信息可以放在媒體文件中,也可以放在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:帶寬;


監測流狀態與網絡鏈接 
流狀態屬性包括: 
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 代碼中插入: 
<o**ect classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"> 
<param name = "url" value = "http://aboutplayer.com/aboutplayer.asx">// 參數 url 定義播放媒體的路徑。
<param name = ……>// 還有很多這樣的參數,都具有重要的功用! 
…… 
</o**ect> 
上面是播放音頻的代碼,播放視頻的只需在<o**ect ……>中插入 width = "205" height = "100" 確定視頻區域的寬、高即可,寬高比有 4:3、16:9 兩種模式。 
若再插入 type = "application/x-oleo**ect" 的代碼,即可播放 SWF 等 Flash 類和 jpg、gif、png、bmp 等圖片類媒體。 
上述綜合代碼就是: 
<o**ect classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" width = "205" height = "100" type = "application/x-oleo**ect"> 
<param name = "url" value = "http://aboutplayer.com/aboutplayer.asx"> 
<param name = ……> 
…… 
</o**ect> 
這裏 "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是最大音量!


<o**ect 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">
      </o**ect>


 


 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
以下三種加特效面板修改播放面板尺寸時,須將兩組播放尺寸數值修改爲一致才能正確顯示。

如下例: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-0020AF*CCFA>
<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>


 
音頻播放器(顯示播放數據)

<o**ect classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AF*CCFA" 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">
</o**ect>


 

調整高度可變化面板

顯示播放數據

<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。
下部播放面板的寬度和上部一致即可,高度不必調整。

-----------------------------------------

<o**ect classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AF*CCFA" 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">
</o**ect> 
<o**ect classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AF*CCFA" 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">
</o**ect>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章