WindowsMediaPlayer和MediaPlayer控件区别及其使用

来源:互联网 发布:制图软件免费下载 编辑:程序博客网 时间:2024/06/06 05:56
WindowsMediaPlayer和MediaPlayer控件区别及其使用

  作者:学科专家  发布时间:2011-02-16

来源:谢作如技术叙事 

    这个学期准备让学生试着编写简单的媒体播放器,不仅能播放mp3、wav类型的音频文件,还能播放avi、mpg等类型的视频文件。

      播放控件选什么?考虑再三,还是放弃mp3player之类的第三方播放控件,既然选择了VB,就“微软”到底吧,就用windows自带的MediaPlayer。但是找资料的过程中发现了一件有趣的事,那就是:WindowsMediaPlayer和MediaPlayer居然不是同一个控件。MediaPlayer引用的是msdxm.oca而WindowsMediaPlayer是wmp.oca文件。

      对于这两种控件,网上关于它们之间区别比较的资料很少,很多人不会区分。回忆自己当年编写网页播放器的经验,姑且用最通俗简洁的语言来表述它们的不同点吧:

1、MediaPlayer一般在98时代用,就是那个界面很朴实简单的播放器,而WindowsMediaPlayer则是2000之后,系统自带的播放器,界面华丽多了;

2、对于播放路径,WindowsMediaPlayer用的是URL属性,而MediaPlayer用filename属性;

3、MediaPlayer用play就能播放,而WindowsMediaPlayer要用controls.play来播放。

      那么,学生编写播放器到底用什么控件更好呢?权衡了一番,还是用WindowsMediaPlayer,跟上潮流,与时俱进。

附:WindowsMediaPlayer和MediaPlayer控件介绍说明

==========WindowsMediaPlayer的常用属性和方法=========== 

[基本属性] 
URL:string                            可以指定媒体位置 
enableContextMenu:Boolean 显示/不显示播放位置的右键菜单 
fullScreen:boolean                 全屏显示 
stretchToFit:boolean              非全屏状态时是否伸展到最佳大小 
uMode:string                         播放器的模式,full:有下面的控制条; none:只有播放部份没有控制条 
playState:integer                    当前控件状态,下面是三种基本状态: 
3:正在播放 
2:暂停 
1:已停止 
状态变化时会触发OnStatusChange事件 

[controls] 
可通过WindowsMediaPlayer.controls对播放器进行控制并取得相关的一些信息: 
controls.play;       播放 
controls.stop;       停止 
controls.pause;      暂停 
controls.currentPosition:Double 当前播放进度 
controls.currentPositionString:string 时间格式的字符串 "0:32" 

[currentMedia] 
可以通过WindowsMediaPlayer.currentMedia取得当前媒体的信息 
currentMedia.duration  Double 总长度 
currentMedia.durationString 时间格式的字符串 "4:34" 

[settings] 
可以通过WindowsMediaPlayer.settings对播放器进行设置,包括音量和声道等。 
settings.volume:integer 音量 (0-100) 
settings.balance:integer 声道,通过它应该可以进行立体声、左声道、右声道的控制。

==========MediaPlayer的常用属性和方法=========== 

MediaPlayer1.Play          播放

MediaPlayer1.Stop          停止

MediaPlayer1.Pause         暂停

MediaPlayer1.PlayCount        文件播放次数

MediaPlayer1.AutoRewind       是否循环播放

MediaPlayer1.Balance         声道

MediaPlayer1.Volume         音量

MediaPlayer1.Mute          静音

MediaPlayer1.EnableContextMenu    是否允许在控件上点击鼠标右键时弹出快捷菜单

MediaPlayer1.AnimationAtStart    是否在播放前先播放动画

MediaPlayer1.ShowControls      是否显示控件工具栏

MediaPlayer1.ShowAudioControls    是否显示声音控制按钮

MediaPlayer1.ShowDisplay       是否显示数据文件的相关信息

MediaPlayer1.ShowGotoBar       是否显示Goto栏

MediaPlayer1.ShowPositionControls  是否显示位置调节按钮

MediaPlayer1.ShowStatusBar      是否显示状态栏

MediaPlayer1.ShowTracker       是否显示进度条

MediaPlayer1.FastForward       快进

MediaPlayer1.FastReverse       快退

MediaPlayer1.Rate          快进/快退速率

MediaPlayer1.AllowChangeDisplaySize 是否允许自由设置播放图象大小

MediaPlayer1.DisplaySize       设置播放图象大小

    1-MpDefaultSize         原始大小

    2-MpHalfSize          原始大小的一半

    3-MpDoubleSize         原始大小的两倍

    4-MpFullScreen         全屏

    5-MpOneSixteenthScreen     屏幕大小的1/16

    6-MpOneFourthScreen       屏幕大小的1/4

    7-MpOneHalfScreen        屏幕大小的1/2



属性/方法名:说明: [基本属性] URL:String;指定媒体位置,本机或网络地址uiMode:String;播放器界面模式,可为Full, Mini, None, InvisibleplayState: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-100settings.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 文档


原创粉丝点击