夏雷

积极人生,努力加油!
[导入]windows media player

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。


文章来源:http://xialei222.blog.163.com/blog/static/4804673820081229196257

posted on 2008-02-22 09:19  夏雷  阅读(250)  评论(0编辑  收藏  举报