常用網頁播放器代碼之wmp篇

WMP加入了ActiveX解碼器控件,不僅可以放曲子,還能放Flash和其它視頻文件 
<object 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-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>

 

轉:介紹三種網頁播放器好代碼

http://homepage.yesky.com/420/2369420.shtml

 
發佈了24 篇原創文章 · 獲贊 0 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章