用VB设计多媒体应用程序 Visual Basic是Microsoft公司开发的Windows编程工具软件。由于它具有先进的设计思想、快速易掌握的使用方法及控制媒体对象手段灵活多样等特点，受到了多媒体软件开发人员的关注和青睐，也因此成为多媒体应用程序开发的理想工具。 一、VB的多媒体控件MCI.OCX MCI（媒体控制接口）是Microsoft公司为实现Windows系统下设备无关性而提供的媒体控制接口标准。用户可以方便地使用MCI控制标准的多媒体设备。 MCI包含在Windows多媒体扩展的MMSYSTEM模块中，用来协调控件事件和MCI设备驱动程序间的通讯，提供了与设备无关的接口属性。通常应用程序是通过指定一个MCI设备类型来区分MCI设备，设备类型指明了当前实际使用设备的物理类型，不同的设备类型使用不同的控件属性来进行描述(见附表1)。
从使用的控制方式上来说，MCI设备分为复合和简单两类。一个简单MCI设备并不需要设备元素。例如，CD音频和音碟机就是在一个已经安装好了的硬盘上工作的，它们不需要应用程序为其操作的媒体内容提供任何信息。但对于复合的MCI设备，就需要应用程序提供设备元素，即一个包含全部路径名的源数据文件或目的文件。
为了方便地控制多媒体，在专业版Visual Basic工具箱中提供了一个用于多媒体目的的用户控件——MCI.OCX。
多媒体MCI控件MCI.OCX专用于对多媒体控制接口MCI设备的多媒体数据文件实施记录和回放，从目的效果上来说，该控件通过一组按钮来发出种种设备控制命令以实现对诸如:音频面板、MIDI音序器、CD-ROM驱动器、音频CD播放机、录像带播放、录音带录放等设备的控制。在Visual Basic程序设计时，当在表中加入多媒体MCI控件时，则出现下列按钮：向前（Prev）、向后（Next）、播放（Play）、暂停（Pause）、返回（Back）、单步（Step）、停止（Stop）、记录（Record）和出带（Eject）。
应用程序对MCI的这组按钮操作非常灵活方便，如当我们打开一个MCI设备后，就可以根据该设备类型的属性随时从控件中选择合适的状态按钮来表示该设备的物理状态。所有MCI控件可以有下列几种编程方式 ：⑴控件及其各按钮的可见性和使能性；⑵可变或完全对控件进行重新定义；⑶在一个窗口表格中可以同时控制多个设备。
二、多媒体控制部件MCI.OCX的调用
在Visual Basic 3.0专业版中，多媒体控件MCI.OCX（在Visual Basic 3.0和4.0中，多媒体控件的扩展名为.VBX）是作为可选用部件提供的。为了使用它，首先要执行File\Add File菜单命令，把Windows\system目录下的MCI.OCX加入到工具箱（Toolbox）中，这时会在工具箱中出现相应的MCI.OCX图标。如果使用的是Visual Basic 4.0版（或5.0版），选择Tools\Custom Controls菜单或直接按Ctrl+T，即可出现对话框，在Available Controls列表框中选中Microsoft Multimedia Controls选项，在工具箱中就会出现MCI.OCX图标。
双击工具箱中的多媒体控件MCI.OCX图标，调用MCI.OCX控件之后，表单FORM中将出现一排灰色的媒体控制按钮。
三、多媒体应用程序设计实例
多媒体控件MCI.OCX包含有一组高级的与设备无关的控制命令。在使用该多媒体控件时，首先用Open命令打开MCI设备并建立一个与之对应的文件,以便进行录或播放等操作（但是对诸如CDAudio、VCR和录像带不能使用相应文件）。一旦设备打开成功，就可以向它发出各种操作命令（见附表的按钮命令）来完成指定的工作任务。最后用Close命令来关闭设备和数据文件。
使用MCI.OCX来进行多媒体应用程序开发是很方便的，因为大多数属性都是容易理解的，其中Command属性尤为重要，它是在运行过程中向多媒体设备发命令。格式为:
Form.MMcontrol.Command＝cmdstring$
其中，cmdstring$变量是如下可执行命令名:Open、Close、Play、Pause、Stop、Back、Step、Prev、Next、Seek、Record、Eject、Sound和Save。一旦给其命令设置，它就立刻执行，所发生的错误存在Error属性中。
下面以播放AVI（音频视频接口）文件为例，说明Visual Basic多媒体应用程序设计步骤。
电影（包括声音和图像）是广大计算机工作者最为关心的媒体信息之一，电影处理技术也是多媒体关键技术之一。而在多媒体系统中，AVI（Audio Video Interface，音频视频接口）文件是存储电影（包括声音和图像）的标准格式，这些AVI文件一般是通过捕获实时视频信号得来的，也可以通过扫描仪获取图像或者使用动画制作软件得到。于是，屏幕窗口上的音频视频操作，就变成了对AVI文件（文件后缀为AVI）的处理。
假设用户当前目录下有名字为DEMO.AVI的视频音频文件，利用Visul Basic播放该影片需要经过如下步骤：
1.在Visual Basic的窗体中加入一个MMControl多媒体控件、一个PictureBox图片框控件和两个ComandButton命令按钮部件；
2.设置各个控件的属性，其中窗体命名为Form1、MMCon
trol多媒体控件命名为MMControl1、PictureBox图片框控件命名为Picture1、两个ComandButton命令按钮控件分别命名为Play和Close；
3.编写各触发事件源程序代码并且运行。源程序代码为：
Private Sub Play_Click()
MMControl1.Filename = "DEMO.AVI"
MMControl1.DeviceType= = "AVIVIDEO"
MMControl1.hWndDisplay = Picture1.hWnd
MMControl1.Command = "OPEN"
MMControl1.To = 1
MMControl1.Command = "SEEK"
MMControl1.Command = "PLAY"
End Sub
Private Sub Close_Click()
MMControl1.Command = "STOP"
MMControl1.Command = "CLOSE"
End Sub
值得注意的是：在播放AVI文件之前，首先应该把AVI驱动程序安装在Windows下。AVI的驱动程序名为MCIAVI.DRV，必须将它拷贝到＼Windows＼System目录下，同时在SYSTEM.INI文件的［MCI］部分加上：
AVIVIDEO=MCIAVI.DRV
这样，运行Windows时，Windows会自动地将AVI的驱动程序安装好。
以上仅描述了利用多媒体控制部件播放音频视频文件的操作过程。实际上利用多媒体控制部件同样可以播放动画文件（.FLI、.FLC）、MIDI文件等其它媒体信息。
利用Visual Basic提供的多媒体控制部件MCI.OCX，广大计算机用户可以方便、快捷、高效率地开发出各种多媒体应用程序。但需要强调的是：开发设计Visual Basic多媒体应用程序，除了可以利用多媒体控制部件以外，还可以采用其它手段，例如通过调用API函数等等。可见， Visual Basic确实是专业与非专业多媒体软件开发人员共同拥有的理想开发工具。

王向阳