利用axWindowsMediaPlayer(Windows Media Player)制作MP3播放器 2
在制作mp3播放器之前,我们需要了解axWindowsMediaPlayer 媒体主要方法属性:
属性/方法名: 说明:
[基本属性]  
URL:String; 指定媒体位置,本机或网络地址
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
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; 播放次数
[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.Ctlcontrols.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 StringWith Me.OpenFileDialog1.Title = "打开语音文件".CheckPathExists = True.CheckFileExists = True.Multiselect = False.Filter = "mp3文件(*.mp3)|*.mp3|所有文件(*.*)|*.*"If .ShowDialog = DialogResult.Cancel ThenExit SubEnd IffilePath = .FileNameEnd WithMe.Text = "PC复读机-文件 " & filePathAxWindowsMediaPlayer1.URL = filePathTryMe.AxWindowsMediaPlayer1.Ctlcontrols.play()Catch ex As ExceptionMsgBox("对不起,不能播放此格式语音文件", MsgBoxStyle.OKOnly, "PC复读机")Exit SubEnd 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.TickEndPoint = AxWindowsMediaPlayer1.currentMedia.durationIf 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是一个整型变量。

vb.net axWindowsMediaPlayer 控件使用相关推荐

  1. VB 单击ListView控件某列表头进行排序

    VB 单击ListView控件某列表头进行排序,实现方法比较简单,不用写什么函数,ListView控件本身就有排序功能了. Private Sub ListView1_ColumnClick(ByVa ...

  2. VB制作OCX控件的步骤

    下面列出制作OCX控件的步骤: 一:新建OCX 打开VB 选择新建工程在对话框中选择ActiveX 控件(如图一(map1.gif))打开后会见一空的文档这就是 OCX控件的初始界面.想看一看空OCX ...

  3. vb.net 图形控件_玩转图形:VB.net GlassLabel控件

    vb.net 图形控件 A while ago, I was working on a Windows Forms application and I needed a special label c ...

  4. 基于VB中WINSOCK控件的网上象棋系统的实现

    本文发表在<微型机与应用>杂志2001年第3期. 基于 VB 中 WINSOCK 控件的网上象棋系统的实现 马根峰1   ,  孙艳2  , 王平1 (1.重庆邮电学院自动化学院,重庆,4 ...

  5. VB.net MenuStrip控件通过数据库生成多级动态菜单并添加单击事件

    VB.net MenuStrip控件通过数据库生成多级动态菜单并添加单击事件 个人小白,一个多月前想通过 MenuStrip控件调用数据库数据生成多级联动下拉菜单,结果网上的资料都只是部分代码可用.经 ...

  6. vb的datagrid控件的使用(一)

    vb的datagrid控件的使用(一) 时间:2007-05-05 使用 DataGrid 控件 DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset ...

  7. VB的CommonDialog控件的使用

    vb的CommonDialog控件的使用   使用CommonDialog控件 CommonDialog控件提供诸如打开和保存文件.设置打印选项.选择颜色和字体等操作的一组标准对话框.运行 Windo ...

  8. vb仿excel控件_如何通过INTOUCH组态软件做EXCEL报表(含代码)

    报表功能是自控系统经常用的一个功能,用过报表功能,我们能用表格的方式,查询到历史数据,也能通过报表分析.统计,并根据报表调整工艺配方等等.以往组态软件,对报表支持力度上都不是很友好,数据不能自定义的编 ...

  9. vb的VSFlexGrid控件

    多行选中 VSFlexGrid的SelectionMode = flexSelectionListBox,现在可以配合Ctrl进行多行选择 循环取值 用vsflexgrid.SelectedRows  ...

最新文章

  1. NEJM | 益生菌LGG治疗肠胃炎无效,Immunity|LGG促进生骨
  2. linux fedora自定义终端terminal的快捷键
  3. 编程理论:多态,继承,和开闭原则
  4. dataframe 如何选中某列的一行_如何用 Python 在笔记本上分析 100GB 数据?
  5. 关于JavaScript,这10条血与泪的建议大家一定要看
  6. Kubernetes:全面了解 Deployment
  7. Mycat安全权限配置privileges---MyCat分布式数据库集群架构工作笔记0032
  8. Ceph的客户端安装
  9. 拍摄人像最难的是哪个方面?
  10. canvas特效收集
  11. [Linux]关于Transmission下载服务器的搭建与配置
  12. Notepad++文本比较
  13. BadBoy乱码处理
  14. Angular8简单方式实现表格固定表头和冻结列
  15. c1欧洲语言标准是什么水平,CEFR 为什么会成为全球语言标准体系?
  16. 100个Myeclipse6.5免费注册码
  17. 命中率 计算机组成原理,计算机组成原理-求命中率.pptx
  18. echarts数据可视化(仪表盘)
  19. 计算机中考在线评分模拟卡,中考电脑阅卷流程曝光, 认真看完多拿分!
  20. STC32G12K128-Beta WS2812控制 RGB与HSV互相转换

热门文章

  1. Oracle GoldenGate经典架构
  2. 日常问题——pdsh localhost Connection refused
  3. C#里面的三种定时计时器:Timer
  4. 【转】MyEclipse快捷键大全
  5. nginx(五)rewrite
  6. 续——《RedHat/Fedora等非ubuntu的Linux系统星空极速netkeeper拨号上网 》
  7. 深入理解Linux内存映射机制
  8. dg oracle 切换模式_Oracle数据库 DGbroker三种保护模式的切换
  9. win10卓越性能模式,提升电脑性能
  10. python scrapy框架基如何实现多线程_Python实现在线程里运行scrapy的方法