《多媒体软件设计技术》课件第7章_第1页
《多媒体软件设计技术》课件第7章_第2页
《多媒体软件设计技术》课件第7章_第3页
《多媒体软件设计技术》课件第7章_第4页
《多媒体软件设计技术》课件第7章_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.1VB视频文件的播放7.2VCD播放程序本章小结练习七7.1.1AVI文件的播放方法

本小节将以AVI文件的播放为例,介绍VB中视频播放的6种方法。

1.利用Animation控件播放AVI文件

首先利用动画生成软件生成后缀为 .AVI的动画文件(如PLAY.AVI),然后进入VisualBasic,在控件工具栏中按下鼠标右键,选择快捷菜单中的“部件”,并选中“MicrosoftWindowsCommoncontrols-25.0”前的复选框,按“确认”按钮退出。7.1VB视频文件的播放建立一个新的表单(Form),选择控件工具栏中的“Animation”控件,在Form1上拉出一个方框(Animation1),设置它的AutoPlay属性为False,Visible属性为False;点击控件工具栏中的按钮控件,在Form1中创建一个按钮(Command1),设置其Caption属性为“播放”。双击Form1,编写Form1的Load过程:双击Command1,编写Command1的Click过程:值得说明的一点是,本方法只适用于播放无声的AVI文件。

2.利用API函数mciSendString()播放AVI文件

通常,在VB中播放AVI动画文件时需要借助Animation控件来实现。该控件不是VB的内部控件,使用时要从“部件”中向控件工具箱添加,程序发布时需要打包Mci32.ocx(该控件包含于Mci32.ocx中)。另外,如果应用程序需要同时播放多个不同的动画文件,就得使用多个Animation控件,这大大增加了系统资源的消耗。其实,可以用Windows的API函数来完成AVI动画的播放,这个API函数就是mciSendString。进入VisualBasic6.0,建立一个新的表单,并在表单上创建一个按钮(Command1),设置它的Caption属性为“播放”;再在表单上创建一个图画盒控件(Picture1),作为动画

窗口。

加入通用模块:双击Form1,编写Form1的Activate过程:双击Form1中的按钮,编写Command1的Click过程:

3.利用API函数mciExecute( )播放AVI文件

进入VisualBasic6.0,建立一个新的表单,并在表单上创建一个按钮(Command1),设置它的Caption属性为“播放”;再在表单上创建一个图画盒控件(Picture1),作为动画的输出窗口。

加入通用模块:双击Form1,编写Form1的Activate过程:双击Form1中的按钮,编写Command1的Click过程:4.利用MMControl控件播放AVI文件

进入VisualBasic6.0中,在控件工具栏中按下鼠标右键,选择快捷菜单中的“部件”,选中“MicrosoftMultimediaControl5.0”前的复选框,单击“确认”按钮退出。建立一个新的表单,在表单上创建一个“MicrosoftMultimediaControl”控件(MMControl1),设置它的DeviceType属性为“AVIVIDEO”,把MMControl1的FileName属性置空,设置它的Visible属性为False;再在表单上创建一个按钮(Command1),设置它的Caption属性为“播放”;最后在表单上创建一个图画盒控件(Picture1),作为动画的输出窗口,设置它的Visible属性为False。双击Form1,编写Form1的Activate过程:双击Form1中的按钮,编写Command1的Click过程:

5.利用可插入对象中的电影剪辑控件播放AVI文件

进入VisualBasic6.0中,在控件工具栏中按下鼠标右键,选择快捷菜单中的“部件”,再选择“可插入对象”选项卡,然后选中“视频剪辑(AVI)”前的复选框,单击“确认”按钮退出。建立一个新的表单,在表单上创建一个“视频剪辑(AVI)”控件(avifile1),此时会看到媒体播放器的播放界面,按照在媒体播放器中播放AVI文件的方式进行设置。设置完成后回到VisualBasic6.0中,运行此程序,可看到动画的开始画面,双击它即可实现动画文件的播放。

6.利用OLE控件播放AVI文件

进入VisualBasic6.0,建立一个新的表单,在表单上创建一个按钮(Command1),设置它的Caption属性为“播放”;再在表单上创建一个OLE控件(Ole1),此时会看到媒体播放器的播放界面,按照在媒体播放器中播放AVI文件的方式进行设置。设置完成后回到VisualBasic6.0中,设置Ole1的AutoActivate属性为0-Manual,Visible属性为False。双击Command1,编写Command1的Click过程:7.1.2实例1——同时播放两个AVI视频文件

在7.1节中,我们知道了可以使用API函数mciExecute播放视频文件。在这一节里,将介绍如何同时播放两个视频文件,从而实现视频画中画的效果。下面通过一个例子说明如何利用Windows的API函数mciExecute、mciSendString和SetWindowPos来达到上述目的。在程序中使用了一大一小的两个PictureBox控件Picture1和Picture2,其中,前者是有标题栏和最大化、最小化、关闭按钮的窗口,后者是一个没有边框的窗口,如图7-1所示。Picture1为大画面,Picture2为小画面,分别播放位于C:\WINDOWS\MEDIA\文件夹下的两个AVI视频:LOGO1.AVI与LOGO2.AVI文件。画出如图7-1所示的窗体,窗体上有两个PictureBox控件,其中底色为蓝色的控件名为Picture2。

各对象的主要属性如表7-1所示。图7-1同时播放两个视频文件控件设计表7-1同时播放两个AVI视频文件的控件属性运行此程序,可以看见LOGO1.AVI、LOGO2.AVI两个视频文件同时播放。图7-2为程序运行中某一刻的窗口显示结果。图7-2两个视频文件同时播放7.2.1实例2——利用ActiveMovie控件播放VCD

由于Microsoft公司的ActiveMovie控件内嵌了MPEG音频解码器和MPEG视频解码器,因此可以直接用它来播放符合MPEG规范的VCD文件。该控件除了支持影片文件( .avi、

.mov、.mmm、.mpeg、.mpg、.mpa、.mpv和VCD文件( .dat)外,还支持音频文件( .wav、.mid、.rmi)。播放时,若用鼠标右键双击画面,则可以直接对画面的播放、暂停、停止等进行控制,还可以自行在“属性”栏中对影片播放进行设置,诸如设置“播放次数”、“音量”、“影片大小(1/16、1/4、1/2、1、2倍和全屏)”、“面板”、“颜色”、“过滤器”等。下面利用该控件来设计一个VCD播放器。7.2VCD播放程序

1.实例2的步骤、代码和注释

首先,新建一个“工程”,依次选择“工程”、“部件”,然后添加MicrosoftActiveMovieControl(Amovie.ocx)和MicrosoftCommondialogControl(Comdlg32.ocx),这时控件会出现在“工具箱”中。将上述两个控件加进窗体,再单击“菜单”工具栏,将建立主菜单项。画出的窗体如图7-3所示。

其中各对象的属性如表7-2所示。图7-3VCD播放程序控件设计表7-2VCD播放程序的控件属性运行该程序,当打开一个VCD文件后,就可观看VCD影片了。图7-4中正播放影片《地道战》。注意:若无法正常播放影片,需要重新加载ActiveMovie控件Amovie.ocx。

2.ActiveMovie控件的其他属性

(1) AllowChangeDisplayMode:运行时是否允许改变显示的模式;

(2) AllowHideControls:运行时是否允许显示/隐藏控制面板;

图7-4播放影片《地道战》

(3) AllowHideDisplay:运行时是否允许显示/隐藏显示面板;

(4) Appearance:设置面板的外观(平面或3D);

(5) AutoStart:设置打开VCD文件后是否“自动播放”;

(6) EnableContextMenu:当在画面中单击右键时是否允许出现控制菜单或自定义控制菜单;

(7) FileName:设置ActiveMovie播放的文件名;

(8) PlayCount:设置播放次数;

(9) Rate:设置播放时的速率,值为1时为正常播放,值大于1时为快进(太大时可能无声、无影像);

(10) SelectionStart:设置播放的开始位置(缺省值为0);

(11) SelectionEnd:设置播放的结束位置(缺省值为 -1);

(12) ShowControls:显示/隐藏控制面板;

(13) Showdisplay:显示/隐藏显示面板;

(14) ShowpositionControls:在控制面板中显示/隐藏位置按钮;

(15) ShowSelectionControls:在控制面板中显示/隐藏选择按钮;

(16) ShowTracker:在控制面板中显示/隐藏音轨栏;

(17) ToolTipText:当光标停留在画面时出现提示文字。7.2.2实例3——利用MCIWndx控件播放VCD

除了可以用Microsoft的ActiveMovie控件来开发VCD播放程序外,还可以用MCIWndxControl控件(MCIWndx.ocx)来进行开发。值得一提的是,由于MCIWndx控件是通过XING的MCI驱动程序来实现的,如果没有XING的DLL程序,运行时就会出错,因此在使用MCIWndx控件前,必须先安装XINGVCD播放软件。MCIWndx控件支持大多数ActiveMovie控件所支持的多媒体文件。

1.MCIWndx控件的常用属性

(1) AutosizeMovie:控制画面是否自动适应窗口,值为False时可能会遮掩掉部分画面,结合AuotsizeWindows使用;

(2) AuotsizeWindows:控制画面是否自动适应原来影片的大小,值为False时可能会挤压或拉长画面,使画面变形,结合AutosizeMovie使用;

(3) DefaultContextMenuEnabled:当在画面中单击右键时是否允许出现控制菜单(缺省值为True,这样将不能触发鼠标右键的MouseDown、MouseUp和DblClick事件;设成False时,可以显示自行设计的控制菜单);

(4) Filename:指定设备所要播放的文件;

(5) Menu:显示/隐藏播放条上的控制菜单,并设置在控制面板上单击右键时是否弹出菜单;

(6) PlayBar:显示/隐藏播放条;

(7) PositionString:返回打开的MCI设备的当前位置;

(8) Record:设置控制菜单的“保存”命令是否可用;

(9) Repeat:设置播放时是否“自动重播”;

(10)  Speed:设置播放时的速率,为1000时表示正常播放,大于1000时为快进(太大时可能无声、无影像),小于1000时为慢进;

(11) ToolTipText:返回/设置当鼠标停留在画面时的文本;

(12) TimerFreq:指定时间周期;

(13) Volume:设置MCI的声音大小,1000为正常值;

(14) Zoom:设置画面的缩放率。

2.实例3中MCIWndx的使用步骤

下面同样以播放实例1中的影片为例,介绍MCIWndx控件的使用方法。相对实例2中的ActiveMovie控件复杂的编程和属性设置,本例中MCIWndx控件的使用显得比较容易。

首先在新建的窗体上添加一个MCIWndx控件,并在控件上单击鼠标右键,在弹出式菜单中选取“特性”,见图7-5,或直接在属性栏中进行设置。在Filename中设置需要播放的VCD文件,见图7-6。按F5键则开始运行,当单击“播放”键时,此控件就会自动播放VCD。若无法正常播放影片,则需要重新加载MCIWndx控件MCIWndx.ocx。图7-5在弹出式菜单中选取“特性”

图7-6在Filename中设置需要播放的VCD在播放过程中,在影像上单击鼠标右键,将弹出操作菜单,见图7-7。选择菜单中的“命令”选项,在随后弹出的“发送MCI字符串命令”对话框的命令行中可直接输入命令,发送丰富的MCI字符串命令,如基本的play、close、stop、open、info、capability、pause、put、record、save、resume、seek、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论