空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 

用VisualBasic实现多画面播放功能

来源:网络转载 作者:
所谓动态画中画,指的是在大画面视频播放时,小画面在大画面中也播放另外的画面,或者是两个画面都在做某种活动。


笔者前段时间用Visual Basic开发了一个vcd播放程序,可以实现以下功能:


(1) 可以多屏播放,也就是画中画功能,可同时播放几个不同的画面;


(2) 可以同时播放cd-rom中的视频音频文件(当然,在硬盘中播放速度会更快些)


(3)支持多种文件格式(如.dat、 .wav、 .avi、 .mov、 .mmm、 .mid、 .rmi、 .mpg、 .mpa、 .mpv等);


(4) 自带画面美观且功能齐全的cd播放程序;


(5) 增强了鼠标的右键功能,用它可以控制各画面的大小(1/16、1/4、1/2、1、2倍和全屏)、播放、暂停等;


(6) 控制声音、图像、时间/帧显示转换、自动重播等;


(7) 控制条随意拖动播放,再加上定时播放、自定义播放时间等播放方式,可使您更加惬意地控制vcd;


(8) 屏幕可随意拖动,画面可任意放缩。


vcd中的影像文件都在光盘的mpegav目录下,文件名只有两种:avxeq01.dat或music01 .dat(如果是音乐版的卡拉ok,则还有music02 .dat等。)


可视动画控件activemovie是microsoft公司的控件,从不成熟的1.0、1.2到2.0,每次都有了很大的改进,如1.0版本中有几个属性是只读的(例如,displaymode只能为amvtime,而不能改为amvframes)。该控件支持音频文件(.wav、.mid、.rmi)、影片文件(.avi、.mov、.mmm、.mpeg、.mpg、.mpa、.mpv)和vcd文件(.dat)等。播放时若用鼠标右键单击画面,则可以直接对画面的播放、暂停、停止等进行控制,读者还可以自行在“属性”栏中对影片播放进行控制设置,诸如设置“播放次数”、“音量”、“影片大小(1/16、1/4、1/2、1、2倍和全屏”、“面板”、“颜色”、“过滤器”等。这种技术的实现实际上是vb调用activemovie控制器来完成的,而activemovie控制器内嵌了microsoft mpeg音频解码器和microsoft mpeg视频解码器。


首先,我们建立一个“项目”,依次选择“项目/部件”,然后添加microsoft activemoviecontrol (amovie.ocx)、microsoft commandialog control(comdlg32.ocx),控件即出现在“工具箱”中。将上述两个控件加进窗体,再单击“菜单”工具栏,建立一个主菜单项:“文件”(file)及其子菜单项:“打开a画面”(opena)。


在opena中加入如下代码:


private sub opena-click ()


on error resume next


commondialog1.filter ="video file (*.dat)∣*.dat∣wave file (*.wav)∣avi file (*.avi)∣(*.avi)∣movie file (*.mov)∣(*.mov)∣media file (*.mmm)∣(*.mmm)∣mid file (*.mid;*.rmi)∣(*.mid;*.rmi)∣mpeg file (*.mpeg)∣(*.mpeg)∣all file (*.*)∣*.*"


commondialog1.filterindex =1


commondialog1.showopen


activemove1.filename = commondialog1. filename


activemove1.height = form1.height


activemove1.width =form1.width


activemove1.run


end sub


这是对单个的activemovie1进行控制。还可以在“文件”(file)中依次加入子菜单:“打开b画面”(openb)、“打开c画面”(openc),并相应地加入activemovie2、 activemovie3等多个画面,将上述程序代码略为改动后加入。这样,当您按下f5键即运行程序,打开您想要播放的vcd文件就可以欣赏vcd了。在屏幕上单击右键,还可以控制画面呢!


现在是否就满足了呢?不行!我们再增加一个用鼠标任意拖动屏幕的功能:


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


activemovie1.drag 1


x1=x


y1=y


end sub


我们还增加了一个定义任意播放时间的主菜单项:“时间”(time)及其子菜单项:“画面a时间”(settimea):


private sub settimea-click ()


on error resume next


dim r as integer


r=inputbox ("请输入时间(分钟:0-60)")


r=r*60


activemovie1.currentposition =int(r)
阅读更多内容1 · 2 · 3 · 4 · 下一页>>
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接