您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > Visual Basic 60程序设计 第十二章 多媒体应用
第12章VisualBasic多媒体应用多媒体技术是计算机处理文本(text)、图像(image)、图形(graphic)、音频(audio)、视频(video)等多种信息的综合技术。它的出现使计算机在人类的文化娱乐活动中扮演了重要的角色,使越来越多的人和计算机交上了朋友。本章主要介绍多媒体控件、API函数、外部引用等方法,通过实例来介绍多媒体应用程序的开发。退出12.1多媒体基础12.2MCI命令和MMControl控件12.3API函数12.4引用外部功能编程12.1多媒体基础VB6.0提供了媒体控制接口MCI(MediaControlInterface)命令,让用户可以方便地使用计算机中的多媒体设备;提供了访问Windows应用程序接口(API)的方法,通过调用API函数,可以使用许多Windows的高级功能。还可以通过引用外部程序如MStts(微软发音引擎)等,实现更多的多媒体功能。多媒体的音频和视频有多种格式。12.2MCI命令和MMControl控件12.2.1MCI命令MCI提供了许多与设备无关,由应用程序直接调用的命令。12.2.2MMControl控件MMControl(MicrosoftMultimediaControl)控件是一个用户和Windows多媒体系统之间的接口,是VisualBasic6.0中进行多媒体设计的重要部件。1.MMControl控件的添加2.MMControl控件的按钮功能3.MMControl控件的常用属性12.2.3MMControl控件的特有事件及编程步骤1.事件2.编程步骤(1)在工具箱中加载MMControl控件,并绘制到窗体中。(2)用MMControl控件的DeviceType属性设定多媒体设备类别。其值如表12-1所示。(3)用FileName属性指定多媒体文件。(4)用MMControl控件的Command属性控制多媒体设备。(5)编写相应特殊按钮的响应代码。(6)设备使用完毕后,注意用MMControl控件的Command属性的Close关闭设备。12.2.4应用举例【例12.1】制作一个简单的.wav文件播放器。在窗体上放置多媒体控制部件MMControl,运行界面如图12-2所示。以播放“c:\windows\media\logoff.wav”为例。程序代码如下:PrivateSubForm_Load()Form1.MMControl1.Notify=FalseForm1.MMControl1.Wait=TrueForm1.MMControl1.Shareable=FalseForm1.MMControl1.DeviceType=WaveAudioForm1.MMControl1.FileName=c:\windows\media\logoff.wavForm1.MMControl1.Command=OpenEndSub启动程序,点击播放按钮,就可以听到logoff.wav的声音效果了。12.3API函数12.3.1API函数简介所谓API就是“应用程序接口”(ApplicationProgramingInterface),它是一些由操作系统自身调用的函数。WindowsAPI函数由许多“动态链接库”或DLL组成。在32位Windows中,核心的APIDLL有:gdi32.dll:图形显示界面的API。kernel32.dll:处理低级任务(比如内存和任务管理)的API。user32.d11:处理窗口和消息(VisualBasic程序员能把其中一些当作事件访问)的API。Winmm.dll:处理多媒体任务(如波形音频、MIDI音乐和数字影像等)的API。多媒体编程中主要使用的API函数就在这个链接库中。还不断有新的API出现,处理新的操作系统扩展,比如E-MAIL、联网和新的外设。12.3.2API函数的说明由于WindowsAPI函数不是VisualBasic的内部函数,所以在使用它们之前必须加以声明。说明API函数一般有两种方法:一种是使用说明语句,另一种是使用Win32api.txt中的说明文本复制到代码窗口中。下面先介绍说明语句,使读者对其中的主要关键字的意义有所了解,然后介绍VB中访问Win32api.txt的方法。格式:DeclareFunction函数名Lib库名[Alias别名](ByVal参数1As类型,…,ByVal参数nAs类型)As函数类型。说明:(1)声明中的Lib和Alias的意义(2)常见的API参数类型的说明(3)声明中ByVal的作用(4)API函数完整声明的简便方法访问步骤:首先打开“外接程序”菜单执行“外接程序管理器”命令,在“可用外接程序”框中选定VB6APIVIEWER,在“加载行为”复选框中选定“加载/卸载”,确定后在“外接程序”菜单中添加了“API浏览器”。API浏览器如图12-4所示。在“文件”菜单中执行“加载文本文件”,出现打开文件对话框,如图12-5所示所示。选择Win32API.TXT在API浏览器中出现了可用项,选中需要声明的函数,把“选定项”中的文本复制到相应的模块(一般是.BAS标准模块或代码的通用说明部分),API函数的声明就完成了。由于API函数大多是由C++编制,而C++和VB的变量类型有很大差异,声明中如考虑不周很容易造成错误调用。因此,建议读者尽量使用API浏览器声明API函数。12.3.3API多媒体函数应用举例【例12.3】利用API函数制作CD播放器。在本例中使用mciExecute函数,首先添加标准模块写入声明使用该函数。PublicDeclareFunctionmciExecuteLibwinmm.dll_AliasmciExecute(ByVallpstrCommandAsString)AsLong界面设置如图12-6所示,各控件属性按图例修改Caption属性值。其它属性用默认值。'在窗体加载模块设置按钮属性PrivateSubForm_Load()Command1.Enabled=TrueCommand2.Enabled=FalseCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5.Enabled=FalseCommand6.Enabled=TrueEndSub'打开媒体设备PrivateSubCommand1_Click()mciExecuteopencdaudioaliascdCommand1.Enabled=FalseCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5.Enabled=FalseEndSub'播放音乐PrivateSubCommand2_Click()mciExecuteplaycdCommand2.Enabled=FalseCommand3.Enabled=TrueCommand4.Enabled=FalseCommand5.Enabled=FalseEndSub'停止PrivateSubCommand3_Click()mciExecutestopcdCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=TrueCommand5.Enabled=TrueEndSub'倒回开头位置PrivateSubCommand4_Click()mciExecuteseekcdtostartCommand1.Enabled=FalseCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=FalseCommand5.Enabled=TrueEndSub'弹出CDPrivateSubCommand5_Click()IfCommand5.Caption=弹碟ThenmciExecuteseekcddooropenCommand5.Caption=回位ElsemciExecuteseekcdtocloseCommand5.Caption=弹碟EndIfCommand1.Enabled=FalseCommand2.Enabled=TrueCommand3.Enabled=FalseCommand4.Enabled=FalseEndSub'关闭设备及程序PrivateSubCommand6_Click()mciExecuteclosecdEndEndSub'声道及声音控制PrivateSubOption1_Click(indexAsInteger)mciExecutesetcdaudioalloffSelectCaseindexCase0mciExecutesetcdaudioliftonCase1mciExecutesetcdaudiorightonCase2mciExecutesetcdaudioallonmciExecutesetcdaudioliftonmciExecutesetcdaudiorightonEndSelectEndSub12.4引用外部功能编程12.4.1MSTTS简介在VB中除了Windows的功能外,还可以调用外部的功能链接库。下面我们通过对英文发音引擎的调用,来介绍通过外部引用的方法进行多媒体编程。MSTTS是微软出品的一套文字朗读引擎(MicrosoftText-To-SpeechEngine)。由两个文件组成(MSTTS.EXE和SPCHAPI.EXE),执行后在Windows文件夹下添加了一个Speech文件夹。它提供了全篇英文朗读功能。在Windows中安装MSTTS后,实质上就是添加了语音朗读功能和英文朗读API功能联接库(MicrosoftText-To-SpeechEngine和MicrosoftSpeechAPI4.0),在VB中可以通过引用Speech文件夹下的Vtxtauto.tlb文件来实现英文朗读的功能。Windows支持的其它公司的软件,其功能核心部分也大多可以用API函数的形式加以调用。Vtxtauto.tlb文件不仅提供了全篇英文朗读功能,还提供了朗读控制的许多方法。如:停止朗读:(VTxtAuto.VTxtAuto.StopSpeaking)暂停朗读:(VTxtAuto.VTxtAuto.AudioPause)恢复朗读:(VTxtAuto.VTxtAuto.AudioResume)语速调整:(VTxtAuto.VTxtAuto.Speed)等等。
本文标题:Visual Basic 60程序设计 第十二章 多媒体应用
链接地址:https://www.777doc.com/doc-1469102 .html