Visual Basic6多媒体设计小结

2008-04-09 04:44:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  前言

  随着计算机技术、信息技术的发展,多媒体已经成为计算机应用所涉及到的一个十分重要的领域,各种图像、声音处理技术层出不穷,使人感到应接不暇。对于当前广泛流行的多媒体文件,如WAVE、AVI、MPEG等,如何通过代码来播放它们,为开发的应用程序添加信息量是每一个程序员必须面对的课题。虽然上述这些多媒体文件格式复杂,但是它们的实现原理并不需要我们掌握,并不需要我们从底层来开发解码程序来实现它们的播放,我们完全可以利用Visual Basic 提供的各种控件、Windows提供的API函数来实现多媒体文件的播放。为此,本文介绍了一些播放多媒体文件的常用方法,希望能够对爱好Visual Basic编程的朋友们有所帮助。

  一、OLE控制方法

  Visual Basic的标准工具箱中有一个OLE 控件, 将它放在程序的窗口上后会弹出一个窗口,该窗口列出了所有可以链接或嵌入到OLE控件中的对象,其中就包括了如声音、MIDI音乐、视频等各种多媒体格式,此时可选择"新建"或"由文件创建"将多媒体文件作为对象嵌入到OLE控件中来,然后在相应的代码部分添加 OLE1.Verb=0(verb取不同的值OLE控件将采取不同的动作)来直接实现多媒体的播放。这样程序经过编译运行后就会调用与嵌入或链接对象所对应的多媒体播放器播放该对象。虽然上述方法实现起来十分简单,但是笔者并不推荐它,因为该方法要调用另外的程序,破坏了应用程序和谐统一的界面效果,而且它的运行速度也很慢。

  二、MMControl控件方法

  MMControl 是一个专用的多媒体控件, 使用过程中要通过"工程\部件"菜单打开选择窗口, 并选中 "MICROSOFT MULTIMEDIA CONTROL6.0"项,这样才能在工具箱中出现"MM CONTROL"图标,在应用程序中添加该控件后,需要再添加代码来指定媒体对象、打开媒体对象、控制媒体对象等。MMControl控件的成员变量DeviceType表示要打开的 MCI 设备的类型,它可以为:AVIVideo、CDAudio、DAT、DigitalVideo、MMMovie、其它、Overlay、扫描仪、序列发生器、VCR、视盘或 WaveAudio等。

  用户从 Multimedia MCI 控件选取按钮之前,应用程序必须先将 MCI 设备打开,并在 Multimedia MCI 控件上启用适当的按钮。在 Visual Basic 中,应将 MCI Open 命令放到 Form_Load 事件中。例如要播放一个WAV文件, 可用鼠标点亮此MCI图标,并在FROM1 窗体中绘制一个长方形的区域, 此时一组功能齐全的播放按钮出现在窗口中, 然后双击窗体空白处, 打开 From1 的代码窗口, 此时输入以下命令:

MMControl1.DeviceType = "WaveAudio"
MMControl1.FileName = "d:\sound.wav"
MMControl1.Command = "open"
  为了正确管理多媒体资源,在退出应用程序之前,应该关闭那些已经打开的 MCI 设备。将下面的语句放到 Form_Unload 过程,那么在退出包含MMControl控件的窗体之前,就可以关闭那些已经打开的 MCI 设备。

Private Sub Form_Unload (Cancel As Integer)
MMControl1.Command = "Close"
End Sub
  程序编译运行后, 窗口中MMControl控件的有关按钮将处于可用状态,此时按下PLAY键,美妙的声音就会随之送出。如果不想使用 MMControl 控件中的按钮,可将 Visible 和 Enabled 属性设置为 False。然后通过设置MMControl控件的"Command"属性来实现多媒体文件的操作。   三、ActiveMovie控件方法

  ActiveMovie是ActiveX套件中的一个控件,它可以用来播放媒体文件,它支持绝大部分目前通用的媒体格式,它可以播放Wave、Midi、Avi、MPEG、QuickTime Movie等 格式文件。对它的操作相当简单,只需提供要播放的文件名就可以用Run、Pause、Stop方法来播放、暂停和停止该媒体文件了。使用前通过"项目\部件"菜单选择"Microsoft ActiveMovie Control",此时工具箱就会出现ActiveMovie控件,将此控件安放在应用程序的窗体中,然后通过属性窗口或程序代码指定一个多媒体文件, 比如:

Private Sub Command1_Click()
ActiveMovie1.filename = "d:\sv.mpg"
ActiveMovie1.Run
End Sub
  运行程序之后即可通过其控制条进行播放控制。

  四、MediaPlayer控件方法

  Visual Basic中还有一个宝贝:MediaPlayer,这个控件支持多种音乐格式,如MP3、MIDI、WAV等,可以通过Run、Pause、Stop方法来播放、暂停和停止该媒体文件。使用前通过"项目\部件"菜单选择"Windows Media player",此时工具箱就会出现MediaPlayer控件,将此控件安放在应用程序的窗体中,然后通过属性窗口或程序代码指定一个多媒体文件,就可以通过代码对其进行播放控制了。下面的代码实现了MP3文件的播放:

Private Sub Form_Load()
MediaPlayer1.Visible = False
End Sub
Private Sub cmdPlay_Click()
On Error GoTo handler
With CommonDialog1
.InitDir = App.Path
.Filter = "Midi Files(*.mid)|*.mid|MP3 Files(*.mp3)|*.mp3|Wave Filse(*.wav)|*.wav|(*.m3u)|*.m3u"
.FileName = ""
.ShowOpen
End With
MediaPlayer1.FileName = CommonDialog1.FileName
MediaPlayer1.Play
Exit Sub
handler:
MsgBox "未选择媒体文件。", vbOKOnly, "错误信息"
End Sub
  五、API函数控制方法

  在实现多媒体文件的高效播放,必须依靠WINDOWS的API 函数,操作多媒体文件常用的API函数如下:

  1、mciExecute()函数,这是一个最简单的函数,只有一个参数即MCI指令字符串, 当出现错误时将自动弹出对话框; 下面的代码对sound.wave文件分别进行打开、播放、停止、关闭等控制:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Visual Basic设计图标提取工具

下一篇:VB.NET多线程技术及其实现