| 導購 | 订阅 | 在线投稿
分享
 
 
 

常用網頁嵌入播放器代碼精解收集

來源:互聯網  2008-12-14 10:17:00  評論

因爲自己需要,所有,收集整理一下相關的資料

我們在網頁上看到的播放器無外乎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"><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,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 屬性:任何字符串作用:同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: Title 1</TITLE>

<REF href="/cdaudio:" />

<STARTMARKER NUMBER="1"/>

<ENDMARKER NUMBER="2"/>

</ENTRY>

<ENTRY>

<TITLE>Track 2: Title 2</TITLE>

<REF href="/cdaudio:" />

<STARTMARKER NUMBER="2"/>

<ENDMARKER NUMBER="3"/>

</ENTRY>

<ENTRY>

<TITLE>Track 3: Title 3</TITLE>

<REF href="/cdaudio:" />

<STARTMARKER NUMBER="3"/>

<ENDMARKER NUMBER="4"/>

</ENTRY>

<ENTRY>

<TITLE>Track 4: Title 4</TITLE>

<REF href="/cdaudio:" />

<STARTMARKER NUMBER="4"/>

</ENTRY>

</ASX>

出處:記事閣

因爲自己需要,所有,收集整理一下相關的資料 我們在網頁上看到的播放器無外乎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="[url=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701]http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701[/url]" 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"><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="[url=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0]http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0[/url]" 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="[url=http://www.macromedia.com/go/getflashplayer]http://www.macromedia.com/go/getflashplayer[/url]" /></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"> <!--是否自動播放-- [url=http://www.devdao.com]www.devdao.com[/url]> <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,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 屬性:任何字符串作用:同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: Title 1</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="1"/> <ENDMARKER NUMBER="2"/> </ENTRY> <ENTRY> <TITLE>Track 2: Title 2</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="2"/> <ENDMARKER NUMBER="3"/> </ENTRY> <ENTRY> <TITLE>Track 3: Title 3</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="3"/> <ENDMARKER NUMBER="4"/> </ENTRY> <ENTRY> <TITLE>Track 4: Title 4</TITLE> <REF href="/cdaudio:" /> <STARTMARKER NUMBER="4"/> </ENTRY> </ASX> 出處:記事閣
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有