本文共 6514 字,大约阅读时间需要 21 分钟。
最近在做KTV,很多同学用到了播放器的控件。用系统自带的Windows Modia Play,其实功能也很强大,以下,找了一些资料,希望对大家有帮助。预祝大家做出优秀的KTV系统!
属性/方法名说明: 详尽的API文档(比MSDN更透彻): [基本属性] ; 指定媒体位置,本机或网络地址 uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible(不计大小写) playState:integer; 播放状态。这个属性改变时同时引发PlayStateChange事件与StateChange事件。取值范围为枚举型:WMPLib.WMPPlayState,它的成员如下: wmppsUndefined = 0; //未知状态 wmppsStopped = 1; //播放停止 wmppsPaused = 2; //播放暂停 wmppsPlaying = 3; //正在播放 wmppsScanForward = 4; //向前搜索 wmppsScanReverse = 5; //向后搜索 wmppsBuffering = 6; //正在缓冲 wmppsWaiting = 7; //正在等待流开始 wmppsMediaEnded = 8; //播放流已结束 wmppsTransitioning = 9; //准备新的媒体文件 wmppsReady = 10; //播放准备就绪 wmppsReconnecting = 11; //尝试重新连接流媒体数据 wmppsLast = 12; //上一次状态,状态没有改变 在PlayStateChange中写代码可以防止播放rmvb等非默认类型的问题(用wmppsReady)。 enableContextMenu:Boolean; 启用/禁用右键菜单 fullScreen:boolean; 是否全屏显示
//播放器基本控制 Ctlcontrols.play; 播放 Ctlcontrols.pause; 暂停 Ctlcontrols.stop; 停止 Ctlcontrols.currentPosition:double; 当前进度 Ctlcontrols.currentPositionString:string; 当前进度,字符串格式。如“00:23” Ctlcontrols.fastForward; 快进 Ctlcontrols.fastReverse; 快退 Ctlcontrols.next; 下一曲 Ctlcontrols.previous; 上一曲
[settings] wmp.settings //播放器基本设置 settings.volume:integer; 音量,0-100 settings.autoStart:Boolean; 是否自动播放 settings.mute:Boolean; 是否静音 settings.playCount:integer; 播放次数 //顺序播放 wmp.settings.setMode("shuffle", False) //随机播放 wmp.settings.setMode("shuffle", True) //循环播放 wmp.settings.setMode("loop", True)
[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 axWindowsMediaPlayer1.currentMedia.sourceURL; //获取正在播放的媒体文件的路径 axWindowsMediaPlayer1.currentMedia.name; //获取正在播放的媒体文件的名称 axWindowsMediaPlayer1.Ctlcontrols.Play 播放 axWindowsMediaPlayer1.Ctlcontrols.Stop 停止 axWindowsMediaPlayer1.Ctlcontrols.Pause 暂停 axWindowsMediaPlayer1.Ctlcontrols.PlayCount 文件播放次数 axWindowsMediaPlayer1.Ctlcontrols.AutoRewind 是否循环播放 (无效) axWindowsMediaPlayer1.Ctlcontrols.Balance 声道 axWindowsMediaPlayer1.Ctlcontrols.Volume 音量 axWindowsMediaPlayer1.Ctlcontrols.Mute 静音 axWindowsMediaPlayer1.EnableContextMenu 是否允许在控件上点击鼠标右键时弹出快捷菜单 axWindowsMediaPlayer1.Ctlcontrols.AnimationAtStart 是否在播放前先播放动画(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowControls 是否显示控件工具栏(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowAudioControls 是否显示声音控制按钮(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowDisplay 是否显示数据文件的相关信息(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowGotoBar 是否显示Goto栏(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowPositionControls 是否显示位置调节按钮(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowStatusBar 是否显示状态栏(无效) axWindowsMediaPlayer1.Ctlcontrols.ShowTracker 是否显示进度条(无效) axWindowsMediaPlayer1.Ctlcontrols.FastForward 快进 axWindowsMediaPlayer1.Ctlcontrols.FastReverse 快退 axWindowsMediaPlayer1.Ctlcontrols.Rate 快进/快退速率 axWindowsMediaPlayer1.AllowChangeDisplaySize 是否允许自由设置播放图象大小(无效) axWindowsMediaPlayer1.DisplaySize 设置播放图象大小(无效) 1-MpDefaultSize 原始大小 2-MpHalfSize 原始大小的一半 3-MpDoubleSize 原始大小的两倍 4-MpFullScreen 全屏 5-MpOneSixteenthScreen 屏幕大小的1/16 6-MpOneFourthScreen 屏幕大小的1/4 7-MpOneHalfScreen 屏幕大小的1/2 axWindowsMediaPlayer1.ClickToPlay 是否允许单击播放窗口启动Media Player
在视频播放之后,可以通过如下方式读取源视频的宽度和高度,然后设置其还原为原始的大小. private void ResizeOriginal() { int intWidth = axWindowsMediaPlayer1.currentMedia.imageSourceWidth; int intHeight = axWindowsMediaPlayer1.currentMedia.imageSourceHeight; axWindowsMediaPlayer1.Width = intWidth + 2; axWindowsMediaPlayer1.Height = intHeight + 2; }
打开媒体文件并播放:
Dim filePath As String With Me.OpenFileDialog1 .Title = " 打开语音文件 " .CheckPathExists = True .CheckFileExists = True .Multiselect = False .Filter = "mp3 文件 (*.mp3)|*.mp3| 所有文件 (*.*)|*.*" If .ShowDialog = DialogResult.Cancel Then Exit Sub End If filePath = .FileName End With Me.Text = "PC 复读机 - 文件 " & filePath AxWindowsMediaPlayer1.URL = filePath Try Me.AxWindowsMediaPlayer1.Ctlcontrols.play() Catch ex As Exception MsgBox(" 对不起,不能播放此格式语音文件 ", MsgBoxStyle.OKOnly, "PC 复读机 ") Exit Sub End Try 注意 : AxWindowsMediaPlayer1.URL 中 URL 是表示要播放的文件名 , 取消了原来的 Name 属性 . AxWindowsMediaPlayer1.Ctlcontrols.play() 播放 , 同样还有 Pause,Stop 等其他属性 . AxWindowsMediaPlayer1.settings.balance 表示媒体播放的声道设置 ,0 表示均衡 ,-1 和 1 表示左右声道 . AxWindowsMediaPlayer1.currentMedia.duration 表示要播放的文件的时间长度 . 可用它获取文件长度 . AxWindowsMediaPlayer1.Ctlcontrols.currentPosition 表示正在播放的文件的当前播放位置 , 可用这个属性来对媒体文件进行前进后退等设置 . 如 AxWindowsMediaPlayer1.Ctlcontrols.currentPosition+1 表示前进 1 个时间单位 . AxWindowsMediaPlayer1.settings.rate 播放速率 , 一般乘以 16 后再显示 kbps 单位 . 注意 : 在上面程序中 , 如果在后面加上一个: msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString ) 则显示结果很可能为 0 ,因此,这时候很可能获取不到文件的播放时间长度,容易出错。所以在利用的时候可以加一个 timer 控件: Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick EndPoint = AxWindowsMediaPlayer1.currentMedia.duration If EndPoint = 0 Then Exit Sub ' 可能因为媒体文件的打开需要一定时间,这里等待媒体文件的打开 msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString ) End Sub 此时 msgbox 便会显示文件播放长度。 2. Ctlcontrols 属性 Ctlcontrols 属性是 AxWindowsMediaPlayer 的一个重要属性, 此控件中有许多常用成员。 (1) 方法 play 用于播放多媒体文件,其格式为: 窗体名 . 控件名 .Ctlcontrols.play() 如: AxWindowsMediaPlayer1.Ctlcontrols.play() ‘ 此处缺省窗体名是 Me (2) 方法 pause 用于暂停正在播放的多媒体文件,其格式为: 窗体名 . 控件名 .Ctlcontrols.pause() 如: AxWindowsMediaPlayer1.Ctlcontrols.pause() (3) 方法 stop 用于停止正在播放的多媒体文件,其格式为: 窗体名 . 控件名 .Ctlcontrols.stop() 如: AxWindowsMediaPlayer1.Ctlcontrols.stop() (4) 方法 fastforward 用于将正在播放的多媒体文件快进,其格式为: 窗体名 . 控件名 .Ctlcontrols.fastforward() 如: AxWindowsMediaPlayer1.Ctlcontrols.forward() (5) 方法 fastreverse 窗体名 . 控件名 .Ctlcontrols.fastreverse() 如: AxWindowsMediaPlayer1.Ctlcontrols.fastreverse() 6. 属性 CurrentPosition 用于获取多媒体文件当前的播放进度,其值是数值类型,使用格式为: 窗体名 . 控件名 .Ctlcontrols.currentPosition d1 =AxWindowsMediaPlayer1.Ctlcontrols.currentPosition 其中 d1 是一个整型变量。 7. 属性 Duration 用于获取当前多媒体文件的播放的总时间,其值为数值类型,其使用格式为: 窗体名 . 控件名 .currentMedia.duration 如: d2 =AxWindowsMediaPlayer1.currentMedia.duration 其中 d2 是一个整型变量。转载地址:https://blog.csdn.net/tml237615629/article/details/7493568 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!