1、第第1414章章 Visual Basic 6.0Visual Basic 6.0的多媒体设计的多媒体设计多媒体,即指计算机中同时处理声、图、文信息。多媒体,即指计算机中同时处理声、图、文信息。Visual Basic的专业版和企业版中都提供了多媒体的的专业版和企业版中都提供了多媒体的MCI控控件,通过件,通过MCI控件可以在控件可以在Visual Basic中操纵控制各种多媒中操纵控制各种多媒体外部设备并读取各种多媒体系统所需的文件格式。体外部设备并读取各种多媒体系统所需的文件格式。Visual Basic提供了强大的支持多媒体程序设计的功能,能够实现提供了强大的支持多媒体程序设计的功能,能
2、够实现CD、VCD、Flash动画、动画、AVI动画的播放以及各类图表的绘动画的播放以及各类图表的绘制。制。14.1 14.1 什么是什么是MCIMCI媒体控制接口媒体控制接口MCI(Media Control Interface),是一),是一种为了让人容易使用而设计的高级多媒体接口。低级接口由种为了让人容易使用而设计的高级多媒体接口。低级接口由API函数直接控制函数直接控制WAVE、MIDI、计时器、游戏控制器、动、计时器、游戏控制器、动画等,但是高级接口则使用另一种方式来控制多媒体设备。画等,但是高级接口则使用另一种方式来控制多媒体设备。在一般情况下,利用在一般情况下,利用MCI来控制各
3、种多媒体设备的基本指令来控制各种多媒体设备的基本指令是相同的。是相同的。MCI是微软是微软Windows定义的多媒体接口标准,定义的多媒体接口标准,MCI接接口包括了口包括了CDAudio(激光唱机)、(激光唱机)、Scanner(图像扫描仪)(图像扫描仪)、VCR(磁带录像机)、(磁带录像机)、Videodisc(视盘播放器)、(视盘播放器)、DAT(数字化磁带音频播放机)、(数字化磁带音频播放机)、DigiatVideo(窗口中的数字视(窗口中的数字视频)、频)、Overlay(窗口中的模拟视频叠加设备)、(窗口中的模拟视频叠加设备)、MMMovie(多媒体影片演播器)、(多媒体影片演播器
4、)、Sequencer(MIDI音序设备)、音序设备)、WaveAudio(波形音频设备)等多媒体的主要产品,支持环(波形音频设备)等多媒体的主要产品,支持环境包括境包括Windows3.1及及Windows95/98等版本。等版本。14.2 Multimedia MCI14.2 Multimedia MCI控件控件Multinedia MCI控件可用于管理媒体控制接口(控件可用于管理媒体控制接口(MCI)设备。这些设备包括声卡、)设备。这些设备包括声卡、MIDI发生器、发生器、CD-ROM驱动驱动器、音频播放器、视盘播放器和视频磁带录放器。器、音频播放器、视盘播放器和视频磁带录放器。14.2
5、.1 14.2.1 关于关于Multimedia MCIMultimedia MCI控件控件要使用要使用Multimedia MCI控件,首先必须将其引入到工控件,首先必须将其引入到工程中,引入的方法是在添加程中,引入的方法是在添加“部件部件”对话框中添加对话框中添加”Microsoft Multimedia Control 6.0”部件,则在部件,则在“工具箱工具箱”中将出现中将出现“Multimedia MCI控件控件”的图标。的图标。Multimedia MCI控件具有一组执行控件具有一组执行MCI命令的下压式按钮。命令的下压式按钮。14.2.2 Multimedia MCI14.2.2
6、 Multimedia MCI控件的属性控件的属性Multimedia MCI控件的主要属性列表。控件的主要属性列表。属性名作用AutoEnable决定Multimedia MCI控件是否能够自动启动或关闭控件中的某个按钮。设置为True时,Multimedia MCI控件就启用指定MCI设备类型在当前模式下所支持的全部按钮ButtonEnabled决定是否启用或禁用控件中的某个按钮,禁用后的按钮将淡化的形式显示CanEject决定打开的MCI设备能否将其媒体弹出。在设计时,该属性不可用,在运行时为只读CanPlay决定打开的MCI设备能否进行播放。在设计时,该属性不可用,在运行时为只读Can
7、Record决定打开的MCI设备能否进行记录。在设计时,该属性不可用,在运行时为只读Command指定将要执行的MCI命令。在设计时,该属性不可用DeviceID指定要打开的MCI设备的设备ID。在设计时,该属性不可用,在运行时为只读DeviceType指定要打开的MCI设备的类型FileName指定Open命令将要打开的或者Save命令将要保存的文件。如果在运行时要改变FileName属性,就必须先关闭然后再重新打开Multimedia MCI控件Frames规定Step命令能够前向单步或Back命令能够后向单步的帧数。在设计时,该属性不可用From为Play或Record命令规定起始点。在
8、设计时,该属性不可用Length规定打开的MCI设备上的媒体长度。在设计时,该属性不可用,在运行时为只读Mode返回当前打开的MCI设备的当前模式。在设计时,该属性不可用,在运行时为只读Start指定当前媒体的起始位置。在设计时,该属性不可用,在运行时为只读Position指定打开的MCI设备的当前位置。在设计时,该属性不可用,在运行时为只读RecordMode为支持记录的MCI设备指定当前记录模式是插入还是改写14.2.3 MCI14.2.3 MCI命令命令Multimedia MCI控件使用一套高层次、与设备无关的命令,控件使用一套高层次、与设备无关的命令,被称为媒体控制接口命令,可控制多
9、种多媒体设备。其中的许多命被称为媒体控制接口命令,可控制多种多媒体设备。其中的许多命令直接与令直接与Multimedia MCI控件的按钮对应。控件的按钮对应。MCI命令Win32命令作用MCI_OPENOpen打开MCI设备MCI_CLOSEClose关闭MCI设备MCI_PLAYPlay用MCI设备进行播放MCI_PAUSE或MCI_RESUMEPause晢停播放或录制MCI_STOPStop停止MCI设备MCI_STEPBack向后步进可用的曲目MCI_STEPStep向前步进可用的曲目MCI_SEEKPrev使用Seek命令跳到当前曲目的起始位置MCI_SEEKSeek向前或同后查找曲
10、目MCI_RECORDRecord录制MCI设备的输入MCI_SETEject从CD驱动器中弹出音频CDMCI_SAVESave保存打开的文件14.2.4 14.2.4 对对Multimedia MCIMultimedia MCI控件进行编程控件进行编程通过设置通过设置Enabled和和Visbile属性,可使属性,可使Multimedia MCI控件在运行时可见或不可见。按照默认规定,控件在运行时可见或不可见。按照默认规定,Enabled和和Visible属性被设置为属性被设置为True,这样该控件在运行时就是可见的,这样该控件在运行时就是可见的。14.3 MediaPlayer14.3 M
11、ediaPlayer控件控件MediaPlayer控件在控件在ActiveMedia的基本功能的基础上扩的基本功能的基础上扩充了媒体的播放功能,可以播放多种格式的声音文件和视频充了媒体的播放功能,可以播放多种格式的声音文件和视频文件。文件。14.3.1 14.3.1 关于关于MediaPlayerMediaPlayer控件控件要使用要使用MediaPlayer控件,首先得在工程中引用控件,首先得在工程中引用Windows Media Player部件。部件。MediaPlayer控件本身集成了控件本身集成了许多具有播放多媒体文件控制功能的按钮,还提供了显示播许多具有播放多媒体文件控制功能的按钮
12、,还提供了显示播放进程的进度条和声音音量控制等功能。放进程的进度条和声音音量控制等功能。14.3.2 MediaPlayer14.3.2 MediaPlayer控件的属性控件的属性MediaPlayer控件的主要属性。控件的主要属性。MCI命令Win32命令作用MCI_OPENOpen打开MCI设备MCI_CLOSEClose关闭MCI设备MCI_PLAYPlay用MCI设备进行播放MCI_PAUSE或MCI_RESUMEPause晢停播放或录制MCI_STOPStop停止MCI设备MCI_STEPBack向后步进可用的曲目MCI_STEPStep向前步进可用的曲目MCI_SEEKPrev使用
13、Seek命令跳到当前曲目的起始位置MCI_SEEKSeek向前或同后查找曲目MCI_RECORDRecord录制MCI设备的输入MCI_SETEject从CD驱动器中弹出音频CDMCI_SAVESave保存打开的文件14.3.3 MediaPlayer14.3.3 MediaPlayer控件的主要方法控件的主要方法MediaPlayer控件的主要方法。控件的主要方法。MCI命令Win32命令作用MCI_OPENOpen打开MCI设备MCI_CLOSEClose关闭MCI设备MCI_PLAYPlay用MCI设备进行播放MCI_PAUSE或MCI_RESUMEPause晢停播放或录制MCI_STO
14、PStop停止MCI设备MCI_STEPBack向后步进可用的曲目MCI_STEPStep向前步进可用的曲目MCI_SEEKPrev使用Seek命令跳到当前曲目的起始位置MCI_SEEKSeek向前或同后查找曲目MCI_RECORDRecord录制MCI设备的输入MCI_SETEject从CD驱动器中弹出音频CDMCI_SAVESave保存打开的文件14.3.4 14.3.4 实例:利用实例:利用MediaPlayerMediaPlayer控件制作自己控件制作自己的的VCDVCD播放器播放器本实例将利用本实例将利用MediaPlayer控件来制作一个自定义的控件来制作一个自定义的VCD播放器。
15、实现过程如下:播放器。实现过程如下:(1)界面设计。新建一个标准)界面设计。新建一个标准EXE文件,添加一个文件,添加一个MediaPlayer控件,添加菜单。控件,添加菜单。14.4 Animation14.4 Animation控件控件AVI动画类似于电影,由若干帧位图组成。在动画类似于电影,由若干帧位图组成。在Visual Basic中,可以利用中,可以利用Animation控件播放无声的控件播放无声的AVI动画。动画。Animation控件包含在控件包含在Microsoft Windows Commom Controls-2 6.0部件中。部件中。14.4.1 Animation14.
16、4.1 Animation控件的主要属性和方法控件的主要属性和方法Animation控件的主要作用包括:控件的主要作用包括:在对话框中显示出操作的长短和特征在对话框中显示出操作的长短和特征播放有关应用程序的无声动画,提供使用指导播放有关应用程序的无声动画,提供使用指导使用户能够插入放入该控件的文件使用户能够插入放入该控件的文件Animation控件的主要方法包括控件的主要方法包括Open、Play、Stop和和Close方法。方法。Open方法用来打开方法用来打开.avi文件,文件,Play方法用来播放方法用来播放文件,文件,Stop方法停止播放,在动画全部播放完用,用方法停止播放,在动画全部
17、播放完用,用Close方法关闭打开的方法关闭打开的.avi文件。文件。14.4.2 14.4.2 实例:利用实例:利用AnimationAnimation控件设计动画播控件设计动画播放器放器本实例将利用本实例将利用Animation控件设计一个可以播放无声音控件设计一个可以播放无声音的的AVI动画。并可通过设置其属性来决定动画播放的次数的动画。并可通过设置其属性来决定动画播放的次数的指定动画播放的起始帧。指定动画播放的起始帧。14.5 ShockWaveFlash14.5 ShockWaveFlash控件控件FLASH是一种矢量格式的动画文件,可以包含动画、是一种矢量格式的动画文件,可以包含动
18、画、声音、超文本链接,而文件的体积却很小。在网页上使用声音、超文本链接,而文件的体积却很小。在网页上使用FLASH可以做出很漂亮的动画和动态菜单条。要在可以做出很漂亮的动画和动态菜单条。要在Visual Basic中做出类似的效果,需要使用中做出类似的效果,需要使用ShockWaveFlash控件。控件。14.5.1 ShockWaveFlash14.5.1 ShockWaveFlash控件的主要属性和方控件的主要属性和方法法ShockWaveFlash控件的主要属性和方法跟控件的主要属性和方法跟Visual Basic中的中的其他的媒体播放工具类似。其他的媒体播放工具类似。属性名作用BackgroundColor设置播放器的背景颜色FlashVersion设置Flash版本号Movie调用Flash文件IsPlaying判断播放状态14.5.2 14.5.2 实例:利用实例:利用ShockWaveFlashShockWaveFlash控件制作控件制作FlashFlash动画播放器动画播放器本实例利用本实例利用ShockwaveFlash控件来制作一个可以用来控件来制作一个可以用来播放播放Flash动画动画(*.swf)的播放器。的播放器。