请问怎样使用windows media player 控件?
怎样使播放音乐时隐藏视频?
怎样取得当前播放的文件的长度?
怎样使用playlist?
最好有个示例的代码!
谢谢。期待您的答复
媒体的播放与控制
在媒体播放控件选择上,我们选择Windows Media Player 9.0的播放控件WMP.DLL,该控件的功能相当完善,而且有漂亮的视频插件,在播放音频文件时,可以享受漂亮的视觉效果。由于WMP.DLL控件不在工具箱中,所以我们先必须加入该控件:打开工具箱,在空白处点击鼠标右键,选择右键菜单中的"新建项...",将弹出"选择工具箱项"对话框,在此对话框中,从"COM 组件"选项卡中勾选"Windows Media Player"组件,确定返回,这时候,在工具箱中就可以看到这个控件了。
WMP.DLL控件本身支持播放控制操作,为了通过程序代码控制WMP.DLL实现播放,我们在程序中禁止该控件的一切操作,所以先在窗体放置一个容器Panel1,向其中放置一个WMP控件AxWmp,在该控件上点击鼠标右键,选择“属性”项,在弹出的属性对话框中,设置模式为“None”,取消“自动启动”,选择“按比例伸展”,并将音量调整到最大。再设置Panel1的Enabled属性为False,这样AxWmp控件就无效了,注意,即使设置AxWmp的Enabled属性为False也无法禁止该控件的使用。
下面看看WMP控件在VB2005中的播放控制方法:
1、播放
通过控件的URL方法设置播放媒体文件名,然后通过控件的Ctlcontrols.play()方法开始播放,代码如下:
Private Sub ListBox1_SelectedIndexChanged(…)…
AxWmp.URL=ListBox1.Items.Item(ListBox1.SelectedIndex)
AxWmp.Ctlcontrols.play()
End Sub
2、暂停
通过控件的Ctlcontrols.pause()方法实现播放暂停,通过控件的Ctlcontrols.stop()方法可停止媒体播放。
3、全屏播放
通过设置控件的fullScreen属性为True实现全屏播放,若播放的是音频文件,则该属性可以启用全屏视频插件效果。
4、进/退控制
在播放中,如果需要调节播放位置,可通过改变控件的Ctlcontrols.currentPosition属性实现,将该属性的值进行增减,就可以实现播放位置的调整,如:
AxWmp.Ctlcontrols.currentPosition=AxWmp.Ctlcontrols.currentPosition+10
上面的代码是播放位置向后快进了10秒时间,VB2005中增减量以秒为单位,要实现媒体播放位置向前移动,只要减去一定量即可。
5、连续播放的实现
在某曲媒体播放完成时,自动进入下一个媒体的播放,这就是所谓的连续播放。要实现连续播放,我们需要通过定时器控件实时判断当前播放位置是否到达媒体的最后位置(通过控件的currentMedia.duration属性获取),在一首曲目播放完成后,自动改变播放列表中的播放位置,从而进入下一曲目的播放。编程方法和核心代码如下:
Private Sub Timer1_Tick(…)…
Dim mPos,mLen As Long
'获取媒体长度
mLen=AxWmp.currentMedia.duration
If mLen=0 Then Exit Sub
mPos=AxWmp.Ctlcontrols.currentPosition
If mPos<mLen Then '播放中
'显示播放时间
Label1.Text=AxWmp.Ctlcontrols.currentPositionString
Else '播放到媒体末尾
If ListBox1.Items.Count=0 Then
AxWmp.Ctlcontrols.play()
Exit Sub '继续本曲播放
End If
If ListBox1.SelectedIndex=ListBox1.Items.Count-1 Then
ListBox1.SelectedIndex=0 '第一曲
Else '下一曲
ListBox1.SelectedIndex=ListBox1.SelectedIndex+1
End If
End If
End Sub
【编程实现】
启动VB2005,新建应用程序项目,添加控件到窗体,合理布局,并完善代码,程序运行结果如图所示,调试环境:WinXp+VB2005。
【编程后记】
本文演示了VB2005中文本文件读写操作、列表框的基本操作,并通过WMP.DLL控件演示了媒体的播放与控制方法。如果要播放RM格式的媒体文件,我们在程序中需要加入RealPlayer这个控件,该控件的详细方法留给读者朋友研究!