windows media player 控制項的常用屬性及方法 作者:admin 日期:2006-12-14字型大小: 小 中 大 windowsmediaplayer 控制項在我們編程時經常要用到,但是有很多屬性及方法卻不知道該怎麼使用。(JavaScript中用法幾乎完全相同)。
假設此控制項名為wmp
屬性/方法名: |
說明: |
[基本屬性] |
|
URL:String; |
指定媒體位置,本機或網路地址 |
uiMode:String; |
播放器介面模式,可為Full, Mini, None, Invisible |
playState:integer; |
播放狀態,1=停止,2=暫停,3=播放,6=正在緩衝,9=正在串連,10=準備就緒 |
enableContextMenu:Boolean; |
啟用/禁用右鍵菜單 |
fullScreen:boolean; |
是否全螢幕顯示 |
[controls] |
wmp.controls //播放器基本控制 |
controls.play; |
播放 |
controls.pause; |
暫停 |
controls.stop; |
停止 |
controls.currentPosition:double; |
當前進度 |
controls.currentPositionString:string; |
當前進度,字串格式。如“00:23” |
controls.fastForward; |
快進 |
controls.fastReverse; |
快退 |
controls.next; |
下一曲 |
controls.previous; |
上一曲 |
[settings] |
wmp.settings //播放器基本設定 |
settings.volume:integer; |
音量,0-100 |
settings.autoStart:Boolean; |
是否自動播放 |
settings.mute:Boolean; |
是否靜音 |
settings.playCount:integer; |
播放次數 |
[currentMedia] |
wmp.currentMedia //當前媒體屬性 |
currentMedia.duration:double; |
媒體總長度 |
currentMedia.durationString:string; |
媒體總長度,字串格式。如“03:24” |
currentMedia.getItemInfo(const string); |
擷取當前媒體資訊"Title"=媒體標題,"Author"=藝術家,"Copyright"=著作權資訊,"Description"=媒體內容描述,"Duration"=期間(秒),"FileSize"=檔案大小,"FileType"=檔案類型,"sourceURL"=原始地址 |
currentMedia.setItemInfo(const string); |
通過屬性名稱設定媒體資訊 |
currentMedia.name:string; |
同 currentMedia.getItemInfo("Title") |
[currentPlaylist] |
wmp.currentPlaylist //當前播放清單屬性 |
currentPlaylist.count:integer; |
當前播放清單所包含媒體數 |
currentPlaylist.Item[integer]; |
擷取或設定指定項目媒體資訊,其子屬性同wmp.currentMedia |
常用的差不多就這麼多,全部資料請參見Windows Media Player 9 SDK 文檔。
web 應用代碼:
<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="http://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>
以上為老式代碼,以下是新式的
<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="http://01.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元素的寬度
controls的屬性含義...
組件:imagewindow
作用:視頻顯示地區
組件:All
作用:嵌入RealPlaver的所有按鈕、滑動條和資訊面板
組件:ControlPanel
作用:顯示所有的控制按鈕,以及位置滑動條和擴音器表徵圖,和調節聲音大小的滑動條
組件:PlayButton
作用:顯示播放(play)按鈕和暫停(pause)按鈕
組件:PlayOnlyButton
作用:僅顯示播放按鈕
組件:PauseButton
作用:僅顯示暫停按鈕
組件:StopButton
作用:僅顯示停止(stop)按鈕
組件:FFCtrl
作用:僅顯示快進(fastforward)按鈕
組件:RWCtrl
作用:僅顯示回放(rewind)按鈕
組件:MuteCtrl
作用:僅顯示擴音器表徵圖,用作靜音按鍵
組件:MuteVolume
作用:顯示小的擴音器表徵圖(用於靜音)和其上的用於調節音量的滑動條
組件:VolumeSlider
作用:僅顯示豎直的音量滑動條
組件:PositionSlider
作用:顯示水平的位置滑動條
組件:tacctrl
作用:顯示水平的訊息框,輪流顯示標題、作者以及著作權資訊
組件:HomeCtrl
作用:顯示小的Real標識
組件:infoVolumePanel
作用:顯示黑的訊息框,用綠色顯示標題、作者以及著作權資訊,在右手方有擴音器表徵圖和聲音調節滑動條
組件:infoPanel
作用:同上面一樣,但是沒有靜音按鍵和聲音調節滑動條
組件:StatusBar
作用:顯示水平的訊息框,顯示片斷資訊,比如片斷的時間,網路狀況等等
組件:StatusField
作用:同StatusBar類似,但是只顯示訊息地區,顯示網路訊息,比如顯示“Re-buffenng...”
組件:PositionField
作用:小的黑的訊息框,顯示整個檔案片斷長度以及當前幀在片內的位置
嵌入Real Player播放器
程式碼<object ID="rPlayer" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT="100%" WIDTH="100%">
<param name="_ExtentX" value="23627">
<param name="_ExtentY" value="15187">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="0">
<param name="SRC" value="test.rm">
<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">
</object>
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 GetShowAbout: 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。
[本日誌由 admin 於 2006-12-18 03:16 PM 編輯]