• windows media player 控件的常用属性及方法


    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 GetConnectionBand 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。

  • 相关阅读:
    【无中生有】---4----数据库设计-3
    【无中生有】---2---数据库设计-1
    redis3.0的demo实验
    redis3.0的demo实验
    那些在学习iOS开发前就应该知道的事(part 1)
    模板文件中的插件嵌入点列表
    图像处理框架 Core Image 介绍
    sharepoint services
    DiscuzX2.5数据库字典 值得学习
    Sublime Text 使用技巧
  • 原文地址:https://www.cnblogs.com/happyday56/p/1268418.html
Copyright © 2020-2023  润新知