Visual Basic 语 言 程 序 设 计第 15章 多媒体
多媒体技术的出现使得计算机越来越接近人们的生活。我们可以使用计算机听音乐、
看影片等。 VB6.0以其简单实用、易于掌握而迅速成为程序员开发多媒体的有利工具。通过 VB提供的功能强大的各种多媒体控件,使得原本很高深的多媒体程序设计变得非常简单,用户可以方便快捷地开发多媒体程序。
Visual Basic 语 言 程 序 设 计
15.1 多媒体控件
MCI(Media Control Interface )是微软定义的多媒体接口标准,
它为多种多媒体设备提供了一个公用接口。 MCI接口包括了 CD声音播放器 (CDAudio),Scanner、数字型文件的音频设备 (WaveAudio)
等多媒体设备。多媒体控件 (MMControl)可以通过 MCI接口对媒体设备进行控制。表 15.1中列出了常见的 MCI设备类型。
在进入 VB开发环境时,多媒体控件 (MMControl)并不存在于工具箱中,需要自己动手将它添加到工具箱中。在,工程,菜单中,单击
,部件,命令,或在工具箱上单击右键,然后从弹出的快捷菜单中,
选择,部件,,屏幕上出现,部件,对话框,如图 15.1所示,选择
,Microsoft Multimedia Control 6.0”,单击,确定,按钮,可以将多媒体控件添加到工具箱中。将 MMControl控件添加在窗体上,
如图 15.2所示,其外形与录音机上的按键很相似,并且各按键的功能也与录音机相同。
Visual Basic 语 言 程 序 设 计表 15.1 MCI设备类型
设备类型 说明
Animation 动画设备
AVIVideo 数字影像
CDAudio CD声音播放器
Dat 数字音频磁带播放器
WaveAudio 数字型文件的音频设备
Sequencer MIDI序列化器
MpegVideo VCD播放器
VCR 录像机或放像机
MMControl控件是由一组按钮组成,分别用来向媒体设备发出 MCI命令。控件上共有 9个按钮,从左到右依次是,Prev(前一个 )、
Next(下一个 ),Play(播放 ),Pause(暂停 ),Step(前进 ),Back(后退 ),Stop(停止 ),Record(录制 )和 Eject(弹出 )。
Visual Basic 语 言 程 序 设 计
15.1.1 多媒体控件的常用属性
(1)ButtonEnabled属性
该属性用于设定控件上的各个按钮的状态是否有效。当属性值为
True时,按钮处在可用状态。当属性值为 False时,按钮不可用,
并呈现为灰色。各按钮使用该属性时,用相应的按钮名来代替
Button。
例如,Back按钮对应的是 BackEnabled,使按钮不可用,设置如下:
MMControl1.BackEnabled=False
(2)ButtonVisible属性
该属性用于设定各个按钮是否出现在控件上。当属性值为 False时,
按钮不可见,当属性值为 True时,按钮是可见的。各按钮使用该属性时,用相应的按钮名来代替 Button。
例如:在程序运行时,使 Record按钮不可见,设置如下:
MMControl1.RecordVisible=False
Visual Basic 语 言 程 序 设 计
15.1.1 多媒体控件的常用属性
(3)DeviceType属性
该属性用来指定 MCI要打开的设备类型。
例如:
MMControl1.DeviceType=CDAudio '打开 CD声音播放器
MMControl1.DeviceType=W aveAudio '打开数字型文件音频设备
(4)FileName属性
该属性用来指定要播放的文件名及文件所在的路径。
例如:
MMControl1.FileName="C:\ Program Files\ Microsoft
Visual Studio
\ Common\ Graphics\ Videos\
Filecopy.avi"
Visual Basic 语 言 程 序 设 计
15.1.1 多媒体控件的常用属性
(5)Command属性
该属性用来发送 MCI命令。
MMControl控件是利用 Command属性来执行有关的命令,从而驱动 MCI设备。表 15.2列出了
Command属性的有关命令。
Visual Basic 语 言 程 序 设 计表 15.2 Command属性所使用的命令
命令 说 明
Back 向后步进可用的曲目
Close 关闭设备
Eject 弹出或关闭 CD-ROM
Next 跳转到下一曲目的起始点
Open 打开设备
Pause 暂停播放或录制
Play 播放
Prev 回到当前曲目起点
Record 录制 MCI设备的输入
Save 存储文件
Seek 搜索由 to属性指定的位置
Sound 播音
Step 向前步进可用的曲目
Stop 停止播放
例如:
MMControl1.Command="Open" '打开设置
MMControl1.Command="Play" '播放
Visual Basic 语 言 程 序 设 计
15.1.1 多媒体控件的常用属性
(6)Frames属性
该属性用来指定每次单击 Step或 Back按钮时,能够向前或后退的帧 (画面 )数,
是一个长整型数。该属性在设计时不可用。
(7)Length属性
该属性返回已打开的 MCI设备上的媒体长度,是一个长整型数,单位和
TimeFormat属性时间格式有关。该属性在设计时不可用,在运行时是只读的。
(8)Orientation属性
该属性决定控件中的按钮是水平排列还是垂直排列。
0为水平排列。
1为垂直排列。 1为缺省值。
(9)Position属性
该属性用来指定打开的 MCI设备的当前位置。该属性在设计时不可用,在运行时是只读的。 (10)Silent属性
该属性设定播放视频文件时是否播放声音。
当 Silent属性取值为 False:播放声音。
当 Silent属性取值为 True:声音被关闭。
Visual Basic 语 言 程 序 设 计
15.1.1 多媒体控件的常用属性
(11)Shareable属性
该属性用来决定是否允许其他应用程序或进程使用该媒体设备。 True表示允许。
(12)Start属性
该属性返回当前媒体的起始位置。在设计时,
该属性不可用。
(13)TimeFormat属性
该属性指定各媒体设备使用的时间格式,其值及对应说明如表 15.3所示。
Visual Basic 语 言 程 序 设 计表 15.3 时间格式的设置
值 时间格式
0 单位-微秒
1 单位-时:分:秒
2 单位-分:秒:帧
3 单位-帧
4 单位-时:分:秒:帧
8 单位-字节
9 单位-采样数
10 单位-轨道:帧:分:秒
Visual Basic 语 言 程 序 设 计
15.1.1 多媒体控件的常用属性
(14)TrackLength属性
该属性返回已打开设备的当前轨道的长度,单位和 TimeFormat
属性时间格式有关。
(15)TrackPosition属性
该属性返回已打开设备的当前轨道的起始位置,单位与
TimeFormat属性时间格式有关。
(16)UpdateInterval属性
该属性指定两次连续的 StatusUpdate事件之间的间隔,以微秒数为单位。如果微秒数为 0,就表明没有发生。
(17)Notify属性
该属性用来设定 Done事件是否能产生。当属性值为 True时,则在一条命令完成后,会产生 Done事件,否则不产生。
Visual Basic 语 言 程 序 设 计
15.1.2 多媒体控件的常用事件
多媒体控件常用的事件有,ButtonClick事件,ButtonCompleted事件,ButtonGotFocus事件,ButtonLostFocus事件,Done事件和
StatusUpdate事件。最常用的事件有两个,Done事件和
StatusUpdate事件。
(1)Done事件
该事件当 Notify属性值为 True时,MCI命令结束时发生。参数
NotifyCode表示 MCI命令是否成功。它的取值为 1,2,4,8。其中:
1表示执行成功。
2表示被其他命令取代。
4表示被用户中断。
8表示执行失败。
(2)StatusUpdate事件
该事件在 UpdateInterval属性设置的时间间隔内会自动发生,能对控件的运行状态进行跟踪,类似于定时器。这一事件允许应用程序更新显示,以通知用户当前 MCI设备的状态信息。
Visual Basic 语 言 程 序 设 计
15.2 多媒体控件的使用
本节介绍利用多媒体控件设计 CD播放器,VCD播放器以及播放有声 AVI文件。
15.2.1 利用多媒体控件设计 CD播放器
利用这个控件可以方便地设计出一个 CD播放器。
【 例 15.1】 制作一个简单的 CD播放器。
15.2.2 利用多媒体控件播放 VCD
【 例 15.2】 设计一个多媒体播放器,能够播放 VCD光盘,可实现有选择播放和自动播放功能。
15.2.3 利用多媒体控件播放有声的 AVI文件
【 例 15.3】 设计一个多媒体播放器,能够播放有声音的 AVI,并可静音播放和重复播放。