您现在的位置: 论文网 >> 计算机论文 >> 计算机应用论文 >> 用VisualBasic实现多画面播放功能论文

用VisualBasic实现多画面播放功能

作者:未知
出处:论文网
时间:2007-04-12




如果我们想在vcd画面中单击右键弹出菜单,则可添加如下代码:


private sub activemovie1-mousedown (button as integer,shift as integer ,x as single ,y as single)


if button = 2 then popupmenu menuok


end sub


其中,menuok是我们在菜单中额外增加的,子菜单内容可自定义(但要记住在设计时将名为“menuok”的菜单设置成不可见)。例如:(1)控制vcd“暂停”: activemovie1.parse; (2)控制vcd“运行”: activemovie1.run;(3)控制vcd“停止”: activemovie1.stop;(4)控制vcd“自动播放”: activemovie1.autostart=true。


activemovie还有非常有用的其它属性:


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


(2) allowhidecontrols:运行时显示/隐藏控制面板;


(3) allowhidedisplay:运行时显示/隐藏显示面板;


(4) appearance:设置面板的外观(平面或3d);


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


(6) enablecontextmenu:当在画面中右键单击时是否允许出现控制菜单(设成false时可以显示您自行设计的控制菜单);


(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:当光标停留在画面时出现的提示文字。


我们除了可用microsoft的activemovie控件进行开发外,还可以用mciwnd控件来进行开发(可惜二者不能同时使用。换言之,单纯用mciwnd无法制作画中画,但mciwnd可以和activemovie“和平共处”,这样我们就可以用mciwnd制作一个“特别版vcd”。值得一提的是,mciwnd声音解码非常出色,不愧“师出名门”棗xing)。这种技术的实现实际上是vb借助于xing的mci驱动程序来实现的,如果没有xing的dll程序运行时就会出错。但这种技术实现得非常巧妙,比用vb中的ole技术来得更加隐蔽,可以设计成自己的vcd播放程序。


如果动画控件mciwnd不在工具栏上,可按如下方法进行添加:


(1)从“项目”中选择“部件”,再选中控件mciwnd control (mciwndx.ocx),mciwnd控件即出现在“工具箱”中。


mciwnd控件的属性有:


1) autosizemovie:控制画面是否自动适应窗口,为false可能会遮掩掉部分画面,结合autosizewindows使用;


2) autosizewindows:控制画面是否自动适应原来的影片的大小,为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)timefreq:指定时间周期;


13)volume:设置mci设置的声音大小,1000为正常值;


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


在新建窗体上添加一个mciwnd控件,并在控件上单击鼠标右键,选取“属性”(或直接在属性栏中进行设置),在filename中设置您需要播放的vcd文件,按f5键则开始运行。然后单击“播放”键,就会自动播放vcd。右键单击图像,可以直接对图像的播放、暂停等进行控制,并且可以在播放时直接设置屏幕大小(1/2屏、正常屏幕、倍屏)和控制音量,并对画面进行打开、保存、关闭、复制、配置(显示xing的有关信息)等操作。但是,要想更好地控制画面,我们还得编程,程序参见activemovie控件的编程。


令人鼓舞的是,该控件几乎支持所有上述的多媒体文件。在“命令”行中可直接输入丰富的mci指令(如基本的play、close、stop、open、info、capability、pause、put、record、save、resume、seek、set等等。)


怎么样?您的vcd播放器可以横空出世了吧!?如果您觉得意犹未尽的话,则还可以用windowsapi函数进行开发,只不过api所能控制的就简单多了(windowsapi函数也是借用mci驱动程序来实现的。)


windows中mciexecute函数支持wav、rmi、mid、avi(可以有声音)等文件。可在声明中加入如下代码:


private declare function mciexecute lib "winmmm.dll"(byval lpstrcommand as string)as long


private sub form-load ()


dim x


x=mciexecute ("play e:mpegavmusic01.dat")


’如果您的vcd中mpegav目录下的文件名不是music01.dat,则改为avseq01.dat (下同)


end sub


按f5运行程序即自动播放vcd。


windows中mcisendstring函数同样可以播放上述类型的文件。在声明中加入如下代码:


private declare function mcisendstring lib "winmmm.dll" alias "mcisendstringa"(byval lpstrcommand as string, byval lpstrreturnstring as string, byval ureturnlength as long,byval hwndcallback as long) as long


private sub form-load ()


dim x


x= mcisendstring ("play e:mpegavmusic01.dat",0&,0,0)


end sub


按f5运行程序也自动播放vcd。


再给出一个小程序,运行时它能自动播放您的cd音乐,然后将控制权还给vb应用程序,但不影响计算机的其它操作(当然您的cd-rom中要有cd才行!)。在声明中加入如下代码:


private declare function mcisendstring lib "winmmm.dll" alias "mcisendstringa"(byval lpstrcommand as string, byval lpstrreturnstring as string, byval ureturnlength as long, byval hwndcallback as long) as long


private sub form-load ()

s$="play cdaudioa’


x&= mcisendstring (s$,0&,0,0)


end sub


上述程序在中文windows 95 osr2、Visual Basic中文专业版下调试通过。


多媒体是明天计算机的核心。极好的声音效果和音乐、完全的运动视频和动画给我们所需的信息带来了生机和活力,很难相信没有图像、声音和动画的程序是完美的。通过上面的讨论,我们会由衷地叹服:在visual basic中控制各种多媒体设备是多么地轻而易举,简直是信手拈来!

上一页 [1] [2]

论文搜索
关键字:VisualBasic 多画面 播放功能 VB
最新计算机应用论文
基于网络信息安全技术管理的计算机应用研究
浅析人工智能体系建设
抖音短视频平台视频推荐模式研究
应用电子技术中可编程控制器的应用探讨
用友NC信息系统的实施应用实践研究
基于校园一卡通数据系统的学生行为分析研究
云环境下基于蚁群算法的动态容错技术研究
自拍图像中的记忆痕迹
抖音短视频用户使用动机研究
基于创新扩散理论的Vlog传播
热门计算机应用论文
学生成绩管理系统的设计与实现
浅析计算机病毒及防范的措施
学籍管理系统软件
对计算科学与计算机发展的思考
计算机应用型人才的培养模式研究
物资管理信息系统开发
计算机信息管理在第三方物流中的应用
嵌入式系统数字图像采集接口电路设计
基于B/S体系结构开发应用系统
项目管理在软件中的应用