用VB中的MCI控件实现多媒体编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用VB中的MCI控件实现多媒体编程
随着多媒体技术的发展, 多媒体硬件环境和软件环境的不断完善,以及VB在多媒体方面的强大能力,用VB进行多媒体程序设计已是当前多媒体软件开发的主要手段,而MCI是VB中实现多媒体编程最
有效的方法。

一、VB多媒体程序设计概述
1.Visual Basic6.0 简介
Visual Basic6.0 是由微软公司推出的一套完整的Windows 系统软件开发工具,可用于开发Windows环境下的各类应用程序是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。

VB从根本上改变了传统的程序设计模式, 可以
处理文本、图像、动画、声音等多媒体数据, 因而被计算机界称为“最富有创新精神的编程工具之一”。

2.VB 的多媒体环境任何一种程序设计语言都离不开操作系统,
用Visual Basic
开发多媒体程序的实质是利用了Win dows操作系统的多媒体能力。

目前多媒体制作工具可分为两类, 一类是专为开发多媒体节目和电子出版物而设计的多媒体编著工具(如Authoring tools); 另一类是通用的软件开发工具,如Visual Basic、Visual C++等。

采用通用程序开发工具的优点是灵活性高, 软件运行效率高。

VB 在多媒体应用软件开发方面有着良好的前景, 具有很强的多媒体处理控制功能,VB
的多媒体控制MCI(Media control interface: 媒体控制接口)包括一套控制音频和视频设备, 但具有与设备无关的命令, 用它来进行多媒体设计非常方便。

二、媒体控制接口MCI
1.MCI 的使用
MCI(Multimedia Control Interface)是微软Windows 定义的多媒
体接口标准,具有设备无关性和可扩展性, 使用户不需要使用低级的API 就可以播放多媒体素材。

MCI 控件管理MCI 设备上的多媒体文件的记录与回放,用来向声卡、MIDI 序列发生器、CD-ROM区动器、视频CD播放器等设备发出MCI命令。

MCI控件不是内部控件,而是Active X 控件,不出现在工具箱中,为把它放到工具箱中,执行“工程” / “部件”命令/ “控件”命令, 选择“ M icrosoft Multimedia Control 6.0, 单击“确定”按钮,则MCI控件添加到工具箱中。

MCI控件在窗体中的外观如图1所示。

从左至右共九个按钮被分别被定义为Prev(移前标)、Next(移后标)、Play(播放)、Pause(暂停)、Back(倒移)、Step(前移)、Stop(停止)、Record(录制)和Eject(退出)。

3.MCI 命令及其使用
MCI控件使用一套高级的、与设备无关的命令、称为媒体控制接
口命令, 可用来控制多种多媒体设备, 其中的部分命令直接
与MCI控件的按钮对应,例如,PLAY命令与“播放”按钮相对应。

从本质上说,MCI控件是MCI命令集的VisualBasic 接口。


如,Play 对应MCl_Play,Close 对应MCI_Close 等。

下表列出了MCI控件使用的MCI命令及所对应的win32API命令。

在允许用户对MCI控件进行操作之前,应用程序必须先将MCI设备打开,并在MCI控件上启用适当的按钮,在Visual Basic 中,应将MCI Open命令放到Form_Load事件中。

三、Visual Basic 多媒体应用程序设计步骤及实例
在使用该多媒体控件MCI时,首先用OPEf命令打开MCI设备并建立一个与之对应的文件, 以便进行录或放等操作; 一旦设备打开成功, 就可以向它发出各种操作命令来完成指定的工作任务最后要用Close命令来关闭设备和数据文件。

在使用MCI之前必须安装好多媒体设备如声卡、CD-ROM^以及这些设备的驱动程序,否则MCI将不听指挥。

下面就利用MCI控件来做几个实例。

实例1:CD 播放器
利用VB的MCI控件实现CD播放器很简单,界面如图2。

Private Sub Form_Load()
MMControl1.DeviceType = "CDAudio"
MMControl1mand = "Open"
End Sub
Private Sub Form_Unload(Cancel As Integer)' 关闭程序
时要关闭设备
MMControl1mand = "stop"
MMControl1mand = "close"
End Sub
在CD驱动器中放入一张CD唱片,然后运行,点一下Play按钮即可播放。

若驱动器中无CD盘则所有按钮都处于无效状态。

实例2:AVI 播放器
在多媒体系统中,AVI(Audio Video Interface, 音频视频接口)文件是存储电影(包括声音和图像)的标准格式。

在实际工作中,播放AVI文件的方法有许多种,而其中以利用VB的MCI控件的方法最为简单、方便。

先准备好一个AVI 文件,在窗体上添加一个TextBox 控件, 用该文本框作为播放窗口, 设置其MultiLine 属性为True,Enable 属性为False, 这样它就不能接收用户输入了; 三个按钮控件,Name属性分别为CmdPlay(播放)、CmdPause暂停)、CmdExit(退出);一个MMControl 控件,设置其Visible 属性为False, 使它运行时不可见。

设计完毕的窗体如图3。

Private Sub Form_Load()
MMControl1.DeviceType = "AVIVideo"' 指定Mci 设备类型
MMControl1.FileName=App.Path &"\test.avi"' 设定播放的文件,你可以自行设定
MMControl1mand = "Open" ' 执行打开命令
MMControl1.hWndDisplay = Text1.hWnd ' 在文本框上播放
CmdPause.Enabled = False
End Sub
实例3: 通用播放器
在窗体上放置通用对话框控件、MMcontrol控件、Picturehe
和Comman控件,建立如图4的界面。

本例编写了一个通用的播放多媒体音乐的程序, 单击要播放的音乐按钮, 即可打开通用对话框, 选择要播放的音乐即可以播放各种音乐, 程序如下:
CommonDialog1.Filter = "all
file|*.*|(*.midi)|*.midi"
CommonDialog1.FilterIndex = 2
CommonDialog1.DialogTitle = "open file(*.exe)"
CommonDialog1.Action = 1
If CommonDialog1.FileName = "" Then
MsgBox "No file selected", 37, "checking"
Else
MMControl1.Visible = False
MMControl1.DeviceType = "midiaudio"
MMControl1.FileName = CommonDialog1.FileName
MMControl1mand = "open"
MMControl1mand = "play"
End If
图片也是一种多媒体,单击显示图片按钮,选择图片,即可在
图片框中显示图片。

程序如下:
CommonDialog1.Filter = "all
file|*.*|(*.bmp)|*.bmp|(*.jpg)|*.jpg|(*.gif)|*.gif|(*.e mf)|*.emf"
CommonDialog1.FilterIndex = 1
CommonDialog1.DialogTitle = "open file(*.exe)"
CommonDialog1.Action = 1
If CommonDialog1.FileName = "" Then
MsgBox "No file selected", 37, "checking"
Else
Set Picture1.Picture = LoadPicture
(CommonDialog1.FileName)
End If
四、结束语
Visual Basic 中提供了很多多媒体控件, 包括MCI、ActiveMovie、MediaPlayer、Animation 等,但是MCI 控件是最方便、快捷、高效的方法,可见,Visual Basic 确实是开发多媒体软件的理想工具。

相关文档
最新文档