找回密码
 立即注册
搜索
热搜: 生活 中国

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

[复制链接]
admin 发表于 2014-12-15 01:35:09 | 显示全部楼层 |阅读模式
  1.  windowsmediaplayer 控件在我们编程时经常要用到,但是有很多属性及方法却不知道该怎么使用。(JavaScript中用法几乎完全相同)。
  2.     假设此控件名为wmp


  3. 属性/方法名: 说明:
  4. [基本属性]  
  5. URL:String; 指定媒体位置,本机或网络地址
  6. uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible
  7. playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
  8. enableContextMenu:Boolean; 启用/禁用右键菜单
  9. fullScreen:boolean; 是否全屏显示
  10. [controls] wmp.controls //播放器基本控制
  11. controls.play; 播放
  12. controls.pause; 暂停
  13. controls.stop; 停止
  14. controls.currentPosition:double; 当前进度
  15. controls.currentPositionString:string; 当前进度,字符串格式。如“00:23”
  16. controls.fastForward; 快进
  17. controls.fastReverse; 快退
  18. controls.next; 下一曲
  19. controls.previous; 上一曲
  20. [settings] wmp.settings //播放器基本设置
  21. settings.volume:integer; 音量,0-100
  22. settings.autoStart:Boolean; 是否自动播放
  23. settings.mute:Boolean; 是否静音
  24. settings.playCount:integer; 播放次数
  25. [currentMedia] wmp.currentMedia //当前媒体属性
  26. currentMedia.duration:double; 媒体总长度
  27. currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
  28. currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
  29. currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
  30. currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
  31. [currentPlaylist] wmp.currentPlaylist //当前播放列表属性
  32. currentPlaylist.count:integer; 当前播放列表所包含媒体数
  33. currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia

  34.     常用的差不多就这么多,全部资料请参见Windows Media Player 9 SDK 文档。

  35. web 应用代码:
  36. <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="286" height="225">
  37. <param name="AudioStream" value="-1">
  38. <param name="AutoSize" value="-1">
  39. <!--是否自动调整播放大小-->
  40. <param name="AutoStart" value="-1">
  41. <!--是否自动播放-->
  42. <param name="AnimationAtStart" value="-1">
  43. <param name="AllowScan" value="-1">
  44. <param name="AllowChangeDisplaySize" value="-1">
  45. <param name="AutoRewind" value="0">
  46. <param name="Balance" value="0">
  47. <!--左右声道平衡,最左-9640,最右9640-->
  48. <param name="BaseURL" value>
  49. <param name="BufferingTime" value="15">
  50. <!--缓冲时间-->
  51. <param name="CaptioningID" value>
  52. <param name="ClickToPlay" value="-1">
  53. <param name="CursorType" value="0">
  54. <param name="CurrentPosition" value="0">
  55. <!--当前播放进度 -1 表示不变,0表示开头 单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于0-->
  56. <param name="CurrentMarker" value="0">
  57. <param name="DefaultFrame" value>
  58. <param name="DisplayBackColor" value="0">
  59. <param name="DisplayForeColor" value="16777215">
  60. <param name="DisplayMode" value="0">
  61. <param name="DisplaySize" value="0">
  62. <!--视频1-50%, 0-100%, 2-200%,3-全屏 其它的值作0处理,小数则采用四舍五入然后按前的处理-->
  63. <param name="Enabled" value="-1">
  64. <param name="EnableContextMenu" value="-1">
  65. <!-是否用右键弹出菜单控制-->
  66. <param name="EnablePositionControls" value="-1">
  67. <param name="EnableFullScreenControls" value="-1">
  68. <param name="EnableTracker" value="-1">
  69. <!--是否允许拉动播放进度条到任意地方播放-->
  70. <param name="Filename" value="http://01.wma"valuetype="ref">
  71. <!--播放的文件地址-->
  72. <param name="InvokeURLs" value="-1">
  73. <param name="Language" value="-1">
  74. <param name="Mute" value="0">
  75. <!--是否静音-->
  76. <param name="PlayCount" value="10">
  77. <!--重复播放次数,0为始终重复-->
  78. <param name="PreviewMode" value="-1">
  79. <param name="Rate" value="1">
  80. <!--播放速率控制,1为正常,允许小数-->
  81. <param name="SAMIStyle" value>
  82. <!--SAMI样式-->
  83. <param name="SAMILang" value>
  84. <!--SAMI语言-->
  85. <param name="SAMIFilename" value>
  86. <!--字幕ID-->
  87. <param name="SelectionStart" value="-1">
  88. <param name="SelectionEnd" value="-1">
  89. <param name="SendOpenStateChangeEvents" value="-1">
  90. <param name="SendWarningEvents" value="-1">
  91. <param name="SendErrorEvents" value="-1">
  92. <param name="SendKeyboardEvents" value="0">
  93. <param name="SendMouseClickEvents" value="0">
  94. <param name="SendMouseMoveEvents" value="0">
  95. <param name="SendPlayStateChangeEvents" value="-1">
  96. <param name="ShowCaptioning" value="0">
  97. <!--是否显示字幕,为一块黑色,下面会有一大块黑色,一般不显示-->
  98. <param name="ShowControls" value="-1">
  99. <!--是否显示控制,比如播放,停止,暂停-->
  100. <param name="ShowAudioControls" value="-1">
  101. <!--是否显示音量控制-->
  102. <param name="ShowDisplay" value="0">
  103. <!--显示节目信息,比如版权等-->
  104. <param name="ShowGotoBar" value="0">
  105. <!--是否启用上下文菜单-->
  106. <param name="ShowPositionControls" value="-1">
  107. <!--是否显示往前往后及列表,如果显示一般也都是灰色不可控制-->
  108. <param name="ShowStatusBar" value="-1">
  109. <!--当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间-->
  110. <param name="ShowTracker" value="-1">
  111. <!--是否显示当前播放跟踪条,即当前的播放进度条-->
  112. <param name="TransparentAtStart" value="-1">
  113. <param name="VideoBorderWidth" value="0">
  114. <!--显示部的宽部,如果小于视频宽,则最小为视频宽,或者加大到指定值,并自动加大高度.此改变只改变四周的黑框大小,不改变视频大小-->
  115. <param name="VideoBorderColor" value="0">
  116. <!--显示黑色框的颜色, 为RGB值,比如ffff00为黄色-->
  117. <param name="VideoBorder3D" value="0">
  118. <param name="Volume" value="0">
  119. <!--音量大小,负值表示是当前音量的减值,值自动会取绝对值,最大为0,最小为-9640-->
  120. <param name="WindowlessVideo" value="0">
  121. <!--如果是0可以允许全屏,否则只能在窗口中查看-->
  122. </object>


  123. 以上为老式代码,以下是新式的


  124. <object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
  125. <param NAME="AutoStart" VALUE="-1">
  126. <!--是否自动播放-->
  127. <param NAME="Balance" VALUE="0">
  128. <!--调整左右声道平衡,同上面旧播放器代码-->
  129. <param name="enabled" value="-1">
  130. <!--播放器是否可人为控制-->
  131. <param NAME="EnableContextMenu" VALUE="-1">
  132. <!--是否启用上下文菜单-->
  133. <param NAME="url" VALUE="http://01.wma">
  134. <!--播放的文件地址-->
  135. <param NAME="PlayCount" VALUE="1">
  136. <!--播放次数控制,为整数-->
  137. <param name="rate" value="1">
  138. <!--播放速率控制,1为正常,允许小数,1.0-2.0-->
  139. <param name="currentPosition" value="0">
  140. <!--控件设置:当前位置-->
  141. <param name="currentMarker" value="0">
  142. <!--控件设置:当前标记-->
  143. <param name="defaultFrame" value="">
  144. <!--显示默认框架-->
  145. <param name="invokeURLs" value="0">
  146. <!--脚本命令设置:是否调用URL-->
  147. <param name="baseURL" value="">
  148. <!--脚本命令设置:被调用的URL-->
  149. <param name="stretchToFit" value="0">
  150. <!--是否按比例伸展-->
  151. <param name="volume" value="50">
  152. <!--默认声音大小0%-100%,50则为50%-->
  153. <param name="mute" value="0">
  154. <!--是否静音-->
  155. <param name="uiMode" value="mini">
  156. <!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示-->
  157. <param name="windowlessVideo" value="0">
  158. <!--如果是0可以允许全屏,否则只能在窗口中查看-->
  159. <param name="fullScreen" value="0">
  160. <!--开始播放是否自动全屏-->
  161. <param name="enableErrorDialogs" value="-1">
  162. <!--是否启用错误提示报告-->
  163. <param name="SAMIStyle" value>
  164. <!--SAMI样式-->
  165. <param name="SAMILang" value>
  166. <!--SAMI语言-->
  167. <param name="SAMIFilename" value>
  168. <!--字幕ID-->
  169. </object>


  170. 总的说来,前后两个版本的播放器有相同的地方也有不同的地方,不过要根据你的实际需要来选择播放器。

  171. 接下来介绍的是Real Player 网页媒体播放器各参数的含义

  172. 各参数的含义:

  173. 参数:autostart 属性:True或是False 作用:指定是否自动播放指定的源文件
  174. 参数:backgroundcolor 属性:任何用符号“#”开头的16进制数值或是任何预定义的颜色作用:指定图像窗口的背景颜色
  175. 参数:center 属性:True或是False 作用:指定片断使用初始编码大小播放,并且在图像窗口的中央。
  176. 参数:classid 属性:"clsid:CFCDAA03-8BE4-1lcf-B84B0020AFBBCCFA:** 作用:用于指定ActiveX控件的唯一的字符串标示,可以认出嵌入的RealPalyer播放器。
  177. 参数:console 属性:任何字符串作用:可以将各种不同的RealPlayer控制聚集在网页上,这样它们可以交互使用或是保持独立,而且互相不影响
  178. 参数:controls 属性:ImageWindow,All,ControlPanel,PlavButton,PlayOnlyButton, PauseButton,StopButton,FFCtrl,RWCtrl,MuteCtrl,MuteVolume,VolumeSlider,PositionSlider,TACCtrl,HomeCtrl,InfoVolumePanel,InfoPanel,StatusBar,StatusField,PositionField 作用:可以让你指定那些控制是可见的。
  179. 参数:height 属性:任何整数值作用:指定RealPlayer元素的高度,单位:像素
  180. 参数:id 属性:任何字符串作用:为标签中的RealPlayer元素指定名字。
  181. 参数:imagestatus 属性:True或是False 作用:指定是否在图像窗口中显示状态信息,默认值是true
  182. 参数:loop 属性:True或是False 作用:可以让你指定片断是否无限循环
  183. 参数:maintainaspect 属性:True或是False 作用:默认RealPlayer拉伸所有的片断来充满整个图像窗口。
  184. 参数:name 属性:任何字符串作用:为标签中的RealPlayer元素指定名字(在标签中使用id)
  185. 参数:nojava 属性:True或是False 作用:避免启动Java虚拟机
  186. 参数:nolabels 属性:True或是False 作用:可以禁止显示标题或是版权信息(realplayer5.0以上时,它是垃圾...)
  187. 参数:nologo 属性:True或是False 作用:避免RealPlayer启动时在图像窗口中显示
  188. 参数:numloop 属性:任何整数值作用:让你能够指定文件片循环的次数,不需要参数loop
  189. 参数:prefetch 属性:True或是False 作用:指定在播放前,RealPlayer是否可以获得流描述信息,默认值是False
  190. 参数:region 属性:任何字符串作用:同SMIL一起使用。允许你指定使用HTML代替SMIL
  191. 参数:scriptcallbacks 属性:用逗号分割的列表作用:指定浏览器的回调监控(好高级的东东!)
  192. 参数:shuffle 属性:True或是False 作用:同多文件片的ram文件或是SMIL文件一起使用。可以让RealPlayer随机播放列表中的文件
  193. 参数:src 属性:任何合法的相对或是完整的URL 作用:指定播放的文件或是源文件的地址
  194. 参数:type 属性:字符串作用:为嵌入插件指定MIME类型
  195. 参数:width 属性:任何整数值作用:指定RealPlayer元素的宽度

  196. controls的属性含义...

  197. 组件:imagewindow
  198. 作用:视频显示区域

  199. 组件:All
  200. 作用:嵌入RealPlaver的所有按钮、滑动条和信息面板

  201. 组件:ControlPanel
  202. 作用:显示所有的控制按钮,以及位置滑动条和扬声器图标,和调节声音大小的滑动条

  203. 组件:PlayButton
  204. 作用:显示播放(play)按钮和暂停(pause)按钮

  205. 组件:PlayOnlyButton
  206. 作用:仅显示播放按钮

  207. 组件:PauseButton
  208. 作用:仅显示暂停按钮

  209. 组件:StopButton
  210. 作用:仅显示停止(stop)按钮

  211. 组件:FFCtrl
  212. 作用:仅显示快进(fastforward)按钮

  213. 组件:RWCtrl
  214. 作用:仅显示回放(rewind)按钮

  215. 组件:MuteCtrl
  216. 作用:仅显示扬声器图标,用作静音按钮

  217. 组件:MuteVolume
  218. 作用:显示小的扬声器图标(用于静音)和其上的用于调节音量的滑动条

  219. 组件:VolumeSlider
  220. 作用:仅显示竖直的音量滑动条

  221. 组件:PositionSlider
  222. 作用:显示水平的位置滑动条

  223. 组件:tacctrl
  224. 作用:显示水平的消息框,轮流显示标题、作者以及版权信息

  225. 组件:HomeCtrl
  226. 作用:显示小的Real标识

  227. 组件:infoVolumePanel
  228. 作用:显示黑的消息框,用绿色显示标题、作者以及版权信息,在右手方有扬声器图标和声音调节滑动条

  229. 组件:infoPanel
  230. 作用:同上面一样,但是没有静音按钮和声音调节滑动条

  231. 组件:StatusBar
  232. 作用:显示水平的消息框,显示片断信息,比如片断的时间,网络状况等等

  233. 组件:StatusField
  234. 作用:同StatusBar类似,但是只显示消息区域,显示网络消息,比如显示“Re-buffenng...”

  235. 组件:PositionField
  236. 作用:小的黑的消息框,显示整个文件片断长度以及当前帧在片内的位置

  237. 嵌入Real Player播放器




  238. 程序代码 程序代码

  239. <object ID="rPlayer" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT="100%" WIDTH="100%">
  240. <param name="_ExtentX" value="23627">
  241. <param name="_ExtentY" value="15187">
  242. <param name="AUTOSTART" value="-1">
  243. <param name="SHUFFLE" value="0">
  244. <param name="PREFETCH" value="0">
  245. <param name="NOLABELS" value="0">
  246. <param name="SRC" value="test.rm">
  247. <param name="CONTROLS" value="ImageWindow">
  248. <param name="CONSOLE" value="Clip1">
  249. <param name="LOOP" value="0">
  250. <param name="NUMLOOP" value="0">
  251. <param name="CENTER" value="0">
  252. <param name="MAINTAINASPECT" value="0">
  253. <param name="BACKGROUNDCOLOR" value="#000000">
  254. </object>



  255. RealPlayer的一些函数、方法和过程

  256. 这是 Real Player ActiveX Control Library (Version 1.0) 的所有函数与方法,有兴趣可以研究一下。

  257. function GetSource: WideString;
  258. procedure SetSource(const lpszNewValue: WideString);
  259. function GetConsole: WideString;
  260. procedure SetConsole(const lpszNewValue: WideString);
  261. function GetControls: WideString;
  262. procedure SetControls(const lpszNewValue: WideString);
  263. function GetNoLabels: WordBool;
  264. procedure SetNoLabels(bNewValue: WordBool);
  265. function GetAutoStart: WordBool;
  266. procedure SetAutoStart(bNewValue: WordBool);
  267. function GetAutoGotoURL: WordBool;
  268. procedure SetAutoGotoURL(bNewValue: WordBool);
  269. function GetVolume: Smallint;
  270. procedure SetVolume(nVol: Smallint);
  271. function GetMute: WordBool;
  272. procedure SetMute(bMute: WordBool);
  273. function GetLoop: WordBool;
  274. procedure SetLoop(bVal: WordBool);
  275. function GetImageStatus: WordBool;
  276. procedure SetImageStatus(bEnable: WordBool);
  277. function GetPacketsTotal: Integer;
  278. function GetPacketsReceived: Integer;
  279. function GetPacketsOutOfOrder: Integer;
  280. function GetPacketsMissing: Integer;
  281. function GetPacketsEarly: Integer;
  282. function GetPacketsLate: Integer;
  283. function GetBandwidthAverage: Integer;
  284. function GetBandwidthCurrent: Integer;
  285. procedure DoPlayPause;
  286. procedure DoStop;
  287. procedure DoNextItem;
  288. procedure DoPrevItem;
  289. function CanPlayPause: WordBool;
  290. function CanStop: WordBool;
  291. function HasNextItem: WordBool;
  292. function HasPrevItem: WordBool;
  293. function HasNextEntry: WordBool;
  294. function HasPrevEntry: WordBool;
  295. procedure DoNextEntry;
  296. procedure DoPrevEntry;
  297. procedure AboutBox;
  298. procedure EditPreferences;
  299. procedure HideShowStatistics;
  300. function IsStatisticsVisible: WordBool;
  301. procedure DoGotoURL(const url: WideString; const target: WideString);
  302. procedure DoPlay;
  303. procedure DoPause;
  304. function GetPosition: Integer;
  305. function GetPlayState: Integer;
  306. function GetLength: Integer;
  307. function GetTitle: WideString;
  308. function GetAuthor: WideString;
  309. function GetCopyright: WideString;
  310. function GetClipWidth: Integer;
  311. function GetClipHeight: Integer;
  312. function CanPlay: WordBool;
  313. function CanPause: WordBool;
  314. procedure SetPosition(lPosition: Integer);
  315. function GetNumLoop: Integer;
  316. procedure SetNumLoop(lVal: Integer);
  317. function GetCenter: WordBool;
  318. procedure SetCenter(bVal: WordBool);
  319. function GetNoLogo: WordBool;
  320. procedure SetNoLogo(bVal: WordBool);
  321. function GetMaintainAspect: WordBool;
  322. procedure SetMaintainAspect(bVal: WordBool);
  323. function GetBackgroundColor: WideString;
  324. procedure SetBackgroundColor(const pVal: WideString);
  325. function GetStereoState: WordBool;
  326. function GetLiveState: WordBool;
  327. function GetShowStatistics: WordBool;
  328. procedure SetShowStatistics(bVal: WordBool);
  329. function GetShowPreferences: WordBool;
  330. procedure SetShowPreferences(bVal: WordBool);
  331. function GetShowAbout: WordBool;
  332. procedure SetShowAbout(bVal: WordBool);
  333. function GetOriginalSize: WordBool;
  334. procedure SetOriginalSize;
  335. function GetDoubleSize: WordBool;
  336. procedure SetDoubleSize;
  337. function GetFullScreen: WordBool;
  338. procedure SetFullScreen;
  339. function GetEnableContextMenu: WordBool;
  340. procedure SetEnableContextMenu(bVal: WordBool);
  341. function GetEnableOriginalSize: WordBool;
  342. procedure SetEnableOriginalSize(bVal: WordBool);
  343. function GetEnableDoubleSize: WordBool;
  344. procedure SetEnableDoubleSize(bVal: WordBool);
  345. function GetEnableFullScreen: WordBool;
  346. procedure SetEnableFullScreen(bVal: WordBool);
  347. function GetEnableMessageBox: WordBool;
  348. procedure SetEnableMessageBox(bVal: WordBool);
  349. procedure SetTitle(const pVal: WideString);
  350. procedure SetAuthor(const pVal: WideString);
  351. procedure SetCopyright(const pVal: WideString);
  352. function GetWantKeyboardEvents: WordBool;
  353. procedure SetWantKeyboardEvents(bWantsEvents: WordBool);
  354. function GetWantMouseEvents: WordBool;
  355. procedure SetWantMouseEvents(bWantsEvents: WordBool);
  356. function GetNumEntries: Smallint;
  357. function GetCurrentEntry: Smallint;
  358. function GetEntryTitle(uEntryIndex: Smallint): WideString;
  359. function GetEntryAuthor(uEntryIndex: Smallint): WideString;
  360. function GetEntryCopyright(uEntryIndex: Smallint): WideString;
  361. function GetEntryAbstract(uEntryIndex: Smallint): WideString;
  362. procedure SetCanSeek(bCanSeek: WordBool);
  363. function GetCanSeek: WordBool;
  364. function GetBufferingTimeElapsed: Integer;
  365. function GetBufferingTimeRemaining: Integer;
  366. function GetConnectionBandwidth: Integer;
  367. function GetPreferedLanguageString: WideString;
  368. function GetPreferedLanguageID: Integer;
  369. function GetUserCountryID: Integer;
  370. function GetNumSources: Smallint;
  371. function GetSourceTransport(nSourceNum: Smallint): WideString;
  372. function GetWantErrors: WordBool;
  373. procedure SetWantErrors(bVal: WordBool);
  374. function GetShuffle: WordBool;
  375. procedure SetShuffle(bVal: WordBool);
  376. function GetVersionInfo: WideString;
  377. function GetLastMessage: WideString;
  378. function GetLastErrorSeverity: Integer;
  379. function GetLastErrorRMACode: Integer;
  380. function GetLastErrorUserCode: Integer;
  381. function GetLastErrorUserString: WideString;
  382. function GetLastErrorMoreInfoURL: WideString;
  383. procedure SetPreFetch(bVal: WordBool);
  384. function GetPreFetch: WordBool;
  385. procedure SetRegion(const pVal: WideString);
  386. function GetRegion: WideString;
  387. function GetIsPlus: WordBool;
  388. function GetConsoleEvents: WordBool;
  389. procedure SetConsoleEvents(bVal: WordBool);
  390. function GetDRMInfo(const pVal: WideString): WideString;
  391. property ControlInterface: IRealAudio read GetControlInterface;
  392. property DefaultInterface: IRealAudio read GetControlInterface。

复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生活导航|生活导航 ( 新ICP备12003026-1号 )

GMT+8, 2024-5-9 19:16 , Processed in 0.102507 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表