天天看點

常用網頁播放器代碼之wmp(轉)

WMP加入了ActiveX解碼器控件,不僅可以放曲子,還能放Flash和其它視訊檔案 <object align=center 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-oleobject codebase="http://activex.microsoft.com/activex/

controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" >

     </embed></object>想用WMP連續播放請參照ASX元檔案使用講解:使用ASX播放清單吧上面的這個播放器是老式的那種,6.4版本!新式播放器是在MediaPlayer9.0以後出現的,也就是說隻有裝了9.0或9.0以上的播放器才能正常使用的。

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

下面是新式播放器代碼,相對以前的來說要簡單很多:

<object 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-->

</object>

網頁中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>

部落格園大道至簡

<a href="http://www.cnblogs.com/jams742003/" target="_blank">http://www.cnblogs.com/jams742003/</a>

轉載請注明:部落格園

繼續閱讀