您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > Visual_Basic多媒体程序设计
VisualBasic多媒体程序设计•VisualBasic是一个功能强大的编程环境,且与Windows系统紧密结合,对多媒体编程提供了丰富的支持。•利用VisualBasic进行多媒体开发主要有两种方法:利用多媒体控件和WindowsAPI函数。1.多媒体控件•VisualBasic提供了几种用于多媒体开发的控件,主要包括以下几种:(1)Animation控件(2)MCI控件(3)ActiveMovie控件(4)PictureClip控件(5)MCIWnd控件(1)Animation控件•Animation控件也称为无声控件,用该控件可以播放无声动画文件•也不是所有的无声动画文件都可以播放,它只能播放未经压缩的或者用RLE格式压缩的无声动画文件。(2)MCI控件•MCI控件可用于管理多媒体控制接口(MCI)设备,这些设备包括声卡、MIDI发生器、CD-ROM驱动器、音频播放器、视频播放器和视频磁带录放器。•MCI控件具有一组执行MCI命令的下压式按钮,包括播放、暂停、向后步进、向前步进、停止、录制和弹出等。(3)ActiveMovie控件•ActiveMovie控件可以播放MPEG、AVI、MIDI和WAV等媒体文件,该控件是MCI控件的增强版本•ActiveMovie控件还自带时间数字显示和进度控制,并可以随意改变播放的起点。(4)PictureClip控件•PictureClip控件用于存储快速显示的位图文件,在建立动画或需要存储大量的位图文件时会用到它。(5)MCIWnd控件•MCIWnd控件的功能与MCI控件类似,但MCIWnd控件播放复合型多媒体设备,不能播放简单型设备。2.多媒体API函数•使用MCI控件开发Windows系统下的多媒体程序,具有简单、快捷、方便的特点。但在实际程序设计中,常会碰到一些利用MCI控件不好解决的问题。•VisualBasic提供了直接调用Windows的API函数的功能,通过调用API函数,可以实现对系统的各个层次的功能调用。•Windows的动态链接库文件winmm.dll文件中包含了100多个具有多媒体处理功能的API函数,这些函数大多为低级的程序接口,可以用于处理语音、合成音乐、动画、视频等。常用的MCI高级API函数•mciExecute:用于向MCI传送一个命令字符串,以执行各种播放操作。•mciSendString:也是向MCI传送一个命令字符串,并可接受反馈信息。•mciGetErrorString•GetShortPathName本章内容1Animation控件2MCI控件3MediaPlayer控件4多媒体API函数1Animation控件•Animation控件是一个动画播放控件,Windows下的文件复制进度栏就是使用Animation控件的一个实例,在执行复制操作时,纸页从一个文件夹“飞”到另一个文件夹,非常形象地告诉用户系统正在进行拷贝动作。1.1Animation控件介绍1.2Animation控件应用实例1.1Animation控件介绍(1)AutoPlay属性–将AutoPlay属性设置为True时,一旦加载.avi文件,Animation控件会自动连续循环地播放这个.avi文件。(2)Center属性–Center属性为True时,根据图像的大小,在控件中心显示.avi文件;当设置为False时,.avi动画定位在控件的左上角。(3)Open方法–Open方法打开一个要播放的.avi文件。如果AutoPlay属性设置为True,则一打开就开始播放,在关闭.avi文件或设置AutoPlay属性设置为False之前,它都一直重复播放。(4)Play方法–Play方法使Animation控件播放.avi文件。并且可以设置重复播放次数和开始、结束帧。Animation控件介绍(续)(5)Stop方法–Stop方法使Animation控件终止播放.avi文件。Stop方法仅终止那些用Play方法启动的动画。对通过设置AutoPlay属性为True的自动播放,使用Stop方法会返回错误。可以通过设置AutoPlay属性为False来终止播放。(6)Close方法–Close方法使Animation控件关闭当前打开的.avi文件。如果没有加载任何文件,则Close方法不执行任何操作,也不会产生任何错误。1.2Animation控件应用实例•【例1】利用Animation控件设计一个简单的播放.avi动画的程序。IfcmdPlay.Caption=播放ThenAnimation1.OpenApp.Path&\clock.avi'加载动画文件Animation1.PlaycmdPlay.Caption=停止ElseAnimation1.StopcmdPlay.Caption=播放EndIf说明•avi是Microsoft公司开发的一种数字音频与视频文件格式,现已被大多数操作系统直接支持。avi格式允许视频和音频交错在一起同步播放,但avi文件没有限定压缩标准,由此导致avi文件格式不具有兼容性。不同压缩标准生成的avi文件必须使用对应的解压缩算法才能进行播放,故本例只能播放不含声音的未压缩或使用行程编码(RLE)压缩的avi文件。2MCI控件•MCI是微软Windows定义的多媒体接口标准。•MCI接口包括CDAudio、Scanner、VCR、Videodisc、DAT、DigitalVideo、MMMovie、Sequencer、WaveAudio等多媒体的主要产品,支持环境是Windows9x及以上版本。•MCI的最大优点是应用系统与设备无关性。对于标准多媒体设备,安装相应的Windows的MCIDriver,Windows即可对该设备进行操作访问;对于非标准的多媒体设备,有厂家提供所配的MCIDriver也可以操作。•由于MCI与设备的无关性,在多媒体应用系统的开发中,无需了解每种产品细节就能开发出通用的多媒体应用系统。应用程序通过指定一个MCI设备的类型来区分不同的多媒体设备.设备类型指明了设备的物理类型。MCI控件2.1MCI控件介绍2.2MCI控件应用实例2.1MCI控件介绍•MCI控件具有一组执行MCI命令的下压式按钮。从左到右,依次是Prev、Next、Play、Pause、Back、Step、Stop、Record和Eject按钮,用于管理MCI设备的录制和播放等(1)DeviceType属性•MCI控件所支持的设备类型包括两种:简单设备和复合设备。•一个简单的设备并不需要设备元素。例如,CD音频就是一个已经安装好的设备,它们不需要应用程序为其操作的媒体内容提供任何信息。•对于复合的MCI设备,就需要应用程序提供设备元素,即一个包含全部路径名的源数据文件或目的文件。(2)Command属性•MCI控件使用MCI命令实现对各种多媒体设备的控制,MCI命令是一套高层与设备无关的命令。其中许多命令直接与MCI控件的按钮直接对应。•在用DeviceType属性标识了程序中想要使用的设备之后,就可用Command属性把MCI命令发送给对应设备了。•MCI控件本质上是该命令集的VisualBasic接口,如Play或Close等命令在Win32API的MCI命令结构中都有等价的命令,Play对应MCI_PLAY。表3列出了MCI控件使用的MCI命令,并列出了它们对应的Win32命令。•实际使用时,可以用启用这些命令。如:MMControl1.Command=”Play”MCI控件使用的MCI命令命令MCI命令描述OpenMCI_OPEN打开MCI设备CloseMCI_CLOSE关闭MCI设备PlayMCI_PLAY用MCI设备进行播放PauseMCI_PAUSEMCI_RESUME暂停播放继续播放StopMCI_STOP停止MCI设备BackMCI_STEP向后步进可用的曲目StepMCI_STEP向前步进可用的曲目PrevMCI_SEEK使用Seek命令跳到当前曲目的起始位置NextMCI_SEEK使用Seek命令跳到下一个曲目的起始位置SeekMCI_SEEK向前或向后查找曲目RecordMCI_RECORD录制MCI设备的输入EjectMCI_SET从CD驱动器中弹出音频CDSaveMCI_SAVE保存打开的文件(3)FileName属性•指定Open命令将要打开的或者Save命令将要保存的文件。•如果在运行时要改变FileName属性,就必须先关闭然后再重新打开MCI控件。(4)Tracks、Track、TrackLength、TrackPosition属性•Tracks规定当前MCI设备上可用的曲目个数;•Track规定关于TrackLength和TrackPosition属性返回信息的曲目,该属性仅用于获得某个特定曲目的有关信息,与当前曲目无关。•TrackLength规定Track属性给出的曲目的长度;•TrackPosition规定Track属性给出的曲目的起始位置。(5)UpdateInterval属性•规定两次连续的StatusUpdate事件之间的毫秒数,如果毫秒数是0,表明没有StatusUpdate事件发生。(6)Error和ErrorMessage属性•通过Error和ErrorMessage属性可以处理MCI控件产生的错误,并在每个命令后可以检查错误情况。例如,在Open命令之后,可用下面的代码检查Error属性的值,以判断是否存在CD驱动器。如果没有可用的CD驱动器,则返回错误信息。例如:IfForm1.MMControl1.ErrorThenMsgBoxForm1.MMControl1.ErrorMessage,vbCritical,“CD播放器不能正常工作”EndIf(7)ButtonVisible属性•当MCI控件是可见(Visible属性被设置为True)时,指定某个Button是否显示或隐藏。如果MCI控件是不可见,该属性就不起作用。(8)ButtonClick事件•当用户在MCI控件的按钮上按下并释放鼠标按钮时发生,Button可以是Back、Eject、Next、Pause、Play、Prev、Record、Step或Stop中的任意一种。(9)StatusUpdate事件•允许应用程序更新显示,以通知用户当前MCI设备的状态。通过这一事件应用程序可以从Position、Length和Mode等属性中获得状态信息。•按UpdateInterval属性所给定的时间间隔自动地发生。(10)Mode属性•返回打开的MCI设备的当前模式。MCI控件的Mode值。值设备模式描述524mciModeNotOpen设备没有打开525mciModetop设备停止526mciModePlay设备正在播放527mciModeRecord设备正在记录528mciModeeek设备正在搜索529mciModePause设备暂停530mciModeReady设备准备好2.2MCI控件应用实例•【例2】利用MCI控件设计一个音频播放器。•3MediaPlayer控件•使用MediaPlayer控件是播放视频最简捷的方法,MediaPlayer控件是VisualBasic0新增加的多媒体控件,具有强大的多媒体播放功能,其操作方法类似于Windows操作系统附件中的WindowsMediaPlayer播放器。3.1MediaPlayer控件介绍3.2MediaPlayer控件应用实例3.1MediaPlayer控件介绍(1)AutoStart属性:用于指定MediaPlayer控件是否可以自动播放多媒体文件。如果AutoStart属性设置为True,则程序运行后可自动播放,否则,必须用Play方法播放。(2)AutoRewind属性:用于指定是否自动回退,即在播放文件后滑动尺的滑块是否能回到开始位置。如果设置为True,可自动回退。(3)FileName属性:用于指定要播放的文件名,可以在属性窗口中设置,也可以在运行期间设定。如
本文标题:Visual_Basic多媒体程序设计
链接地址:https://www.777doc.com/doc-1468965 .html