WindowsMediaPlayer的用法

 

最近需要使用到AxWindowsMediaPlayer,它的使用方法也很简单,为其指定相应的url就可以,可以同时发现这个COM组件关不像想象中的那么好用,不过用他做普通的播放器倒也Ok,它可以实现平常所看到的播放,暂停,停止 ,上一首,下一首等功能。这些功能可以通过它的一个Ctlcontrols属性,Ctlcontrols属性是AxWindowsMediaPlayer的一个重要属性, 此控件中有许多常用成员。这些成员就可以实现那些功能了:

(1)用于播放多媒体文件,其格式为:

窗体名.控件名.Ctlcontrols.play()

如: AxWindowsMediaPlayer1.Ctlcontrols.play()

(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()

这些方法本身容易接受,但是在点歌系统中出现了一个问题:如果需要在一个窗体里面来控制另外一个窗体的播放器的这些状态,那么上面的方法就不可用了!设置断点发现程序确实运行了这些语句,但是播放器就是不起作用,典型的就是我需要在一个窗体里面点击按钮到下一首(不是在播放器里面点击)的时候就不起作用了!这个时候就需要在窗体里面再添加同个按钮,为这几个按钮分别写入上面的那些方法,然后在另外一个窗体里面调用这些按钮事件才可以!其实原因是这样的:这个控件有一个ocxstate属性,这个属性是用于持久化控件的状态的。com组件的状态信息被写在对应窗体的资源文件中,用记事本打开窗体资源文件就可 以看到。在手工创建中,这个ocxstate是没法赋值的。这也是为什么我们从外部调用这些方法不起作用的原因了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、基本属性  URL 指定媒体位置,本机或网络地址 例如:axWindowsMediaPlayer1.URL = @"f:\aa.mp3"; uiMode 播放器界面模式,可为Full, Mini, None, Invisible ;Full:有下面的控制条; None:只有播放部份没有控制条 例如:axWindowsMediaPlayer1.uiMode = "Invisible"; playState 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪 enableContextMenu 启用/禁用右键菜单 fullScreen 是否全屏显示 stretchToFit 非全屏状态时是否伸展到最佳大小 2、播放器基本控制 Ctlcontrols.play(); 播放 Ctlcontrols.pause(); 暂停 Ctlcontrols.stop(); 停止 Ctlcontrols.currentPosition 当前进度 Ctlcontrols.currentPositionString 当前进度,字符串格式。如“00:23” Ctlcontrols.fastForward(); 快进 Ctlcontrols.fastReverse(); 快退 Ctlcontrols.next(); 下一曲 Ctlcontrols.previous(); 上一曲 3、播放器基本设置 settings.volume 音量,0-100 settings.balance 声道,通过它应该可以进行立体声、左声道、右声道的控制。 settings.autoStart 是否自动播放 settings.mute 是否静音 settings.playCount 播放次数 settings.rate 播放速度 4、当前媒体属性 currentMedia.duration 媒体总长度 currentMedia.durationString 媒体总长度,字符串格式。如“03:24” currentMedia.getItemInfo(const string) 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址 currentMedia.setItemInfo(const string) 通过属性名设置媒体信息 currentMedia.name 同 currentMedia.getItemInfo("Title")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值