说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Visual Basic 5.0中实现视频画中画

HTML文档下载 WORD文档下载 PDF文档下载
Visual Basic 5.0中实现视频画中画

在VISUAL BAISC 5.0中可以使用播放视频动画文件(*.AVI)的方法在我们的软件中加入动画效果,但在软件中如何实现视频画中画的效果呢?经笔者摸索,发现利用WIDOWS 95的API函数mciExecute、mciSendString和SetWindowPos可实现这一效果。

下面笔者以最常用的大画面中叠加小画面为例来说明视频画中画的实现方法。

一、建立窗体。进入VISUAL BAISC 5.0系统环境,建立一个新的窗体FORM1。

二、建立视频窗口。在这里笔者使用了一大一小的两个图画框(PictureBox)作为视频窗口。选择控件工具箱中的PictureBox控件,在窗体中拉出两个方框(Picture1和Picture2)。其中Picture1为大画面,播放AVI01.AVI文件;Picture2为小画面,播放AVI02.AVI文件。

三、编写相应控件的脚本。

通用模块:

Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String,ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

FORM1的ACTIVATE过程:

Dim AA As Long

Dim PlayAvi As Long

Dim tmpVal As String

Dim KeyValSize As Long

On Error Resume Next

tmpVal = String$(1024, 0)

KeyValSize = 1024

PlayAvi = mciSendString("STATUS AVI01 READY" + Str(Picture2.hwnd),tmpVal, KeyValSize, 0)

If PlayAvi <> 263 Then

PlayAvi = mciExecute("close AVI01")

End If

tmpVal = String$(1024, 0)

KeyValSize = 1024

PlayAvi = mciSendString("OPEN AVI01.AVI ALIAS AVI01 TYPE AVIVIDEO STYLE CHILD PARENT " + Str(Picture2.hwnd) + " WAIT", tmpVal, KeyValSize, 0)

x1Pos = Picture1.Width

y1Pos = Picture1.Height

tmpVal = String$(1024, 0)

KeyValSize = 1024

AA = mciSendString("STATUS AVI01 WINDOW HANDLE WAIT", tmpVal, KeyValSize, 0)

If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then

tmpVal = Left(tmpVal, KeyValSize - 1)

Else

tmpVal = Left(tmpVal, KeyValSize)

End If

AA = SetWindowPos(tmpVal, 0, 0, 0, x1Pos, y1Pos, 0)

AA = mciExecute("WINDOW AVI01 STATE SHOW")

tmpVal = String$(1024, 0)

KeyValSize = 1024

PlayAvi = mciSendString("STATUS AVI02 READY" + Str(Picture1.hwnd), tmpVal, KeyValSize, 0)

If PlayAvi <> 263 Then

PlayAvi = mciExecute("CLOSE AVI02")

End If

tmpVal = String$(1024, 0)

KeyValSize = 1024

PlayAvi = mciSendString("OPEN AVI02.AVI ALIAS AVI02 TYPE AVIVIDEO STYLE CHILD PARENT " + Str(Picture1.hwnd) + " WAIT", tmpVal, KeyValSize, 0)

x1Pos = Picture2.Width

y1Pos = Picture2.Height

tmpVal = String$(1024, 0)

KeyValSize = 1024

AA = mciSendString("STATUS AVI02 WINDOW HANDLE WAIT", tmpVal, KeyValSize, 0)

If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then

tmpVal = Left(tmpVal, KeyValSize - 1)

Else

tmpVal = Left(tmpVal, KeyValSize)

End If

AA = SetWindowPos(tmpVal, 0, 0, 0, x1Pos, y1Pos, 0)

MciExecute "WINDOW AVI02 STATE SHOW"

MciExecute "PLAY AVI01 REPEAT"

MciExecute "PLAY AVI02 REPEAT"

On Error GoTo 0

FORM1的QueryUnload过程:

mciExecute "STOP AVI01"

mciExecute "STOP AVI02"

mciExecute "CLOSE AVI01"

mciExecute "CLOSE AVI02"

运行此程序可见两个动画同时播放,实现了视频画中画的效果。以上程序在VISUAL BAISC 5.0及WINDOWS 95中运行通过。
与乔布斯并肩作战的日子 Google抛弃Exchange ActiveSync WP用户获DAV支持 Facebook真的要做“Facebook Phone”? 程序员,都去写一写前端代码吧 清除山寨和广告应用,“豌豆洗白白”服务上线 谷歌另类“开源” 程度仍不及Facebook和Twitter 想在云中分一份蛋糕? 不妨试试“山寨” 为何乔布斯脾气怪糟 却能让一群最优秀的人为他卖命? 单页Web设计案例+技巧攻略(多图) IE10里的捕捉模式和响应式设计 在“亚马逊商店”出售自己:产品经理这么找工作 【CTO俱乐部第92期】大规模存储与电商架构演化实战分享 刘黎明:PaaS是非主流业务,要与IaaS融合 个人手机游戏开发者之死 为什么苹果的应用审核是个笑话? 程序员性格怪癖是才华横溢的表现,还是危险分子的征兆? JavaScript Source Map详解 8条学习编程的可靠建议 一周消息树:亲爱的GitHub,我们怎么访问不了你? [回顾] 2012年几大编程语言就业趋势分析 研发周报:微软无视W3C 拒绝遵循WebRTC标准 移动周报:夫妻档闯江湖 事业爱情双丰收 当服务器遇见锤子:第六届AWS全球创业大赛落幕 C# DataTable 和List之间相互转换的方法 iPad如何在三年内改变世界 划时代的成果:新DNA存储技术 轻而易举装下世界 谷歌产品设计:Larry Page的魅力革命 开源移动统计工具Countly更新 支持Unity 3D DailyCost传奇设计师访谈,彰显HTML5移动应用优势 如何成为一名架构师? Apache Hadoop集群的安全性架构 如何在delphi程序里调用vc写的exe执行文件。 如何将query中的内容输出到文本文件,然后还能将该文本文件再导入进来?急急急!!!!!!!!!!! 急急急!!我的计算机找不到硬盘了45分 如何求任意多边形的重心 紧急求助:请问java有没有比较丰富的多媒体控件?比如录音的控件??? 急急急!!!我的计算机找不到硬盘了,45分 如何把一个字段的内容求和,然后把结果存入另一表! 请教,怎样把一个记录数组用VB读入ACCESS 2000数据库中? 关于货币类型的问题? the script too large ????????我快疯了。 什么地方有Sybase与Oracle的比较资料? 急急急!!!我的计算机找不到硬盘了,40分 问一下大家 复活节彩蛋 win2000 professional下如何配置weblogic6.0 jsp和javasript如何通讯? 急!!!如何把'¥100'字串转化为浮点型100.00 用OleContainer1将一个WORD文档存进数据库后如何将它从数据库中取出??? 关于SNMP的问题(请高手回答,送40分) 谁想过要戒水?戒成了吗?又渴了吗? 我用在各种机器上使用Win2000,从来没有down过, 真是太奇怪了??? 请问如何确定操作系统系统是中文的还是英文的? 向外国用户发注册码时候应该说些什么,才能让别人觉得你比较专业? 如何捕获ADO的异常信息 struct结构的数据存储是用的什么顺序方式呀? 能介绍几本关于BCB的适合初学者阅读的书吗? 高手进来,struct结构的数据存储是用的什么方式呀 高分!高手请进!!! Newton 有关StoredProc的 各位大虾进来看看,Debug时的错误~~~~~~~ First-chance exception 和 User breakpoint ,帮帮我啊!!! 虽然我也回复没有分,但有意思的帖子,但我对分数高的帖子更有热情,我是不是很势利?? 我的服务器是unix 哪位提供最简单的图片存入库中的代码 谁能得到拨号上网所使用的电话的号码? 关于视中图形(非图像)的缩放问题! 想不通啊~~ 谁来帮帮我~~~?? 哪里可以宕到:Robohelp Office(亚洲版),急!! 谁能告诉我PWS怎么用 小弟刚下载了j2sdkee1.2.1 ,但不知道如何配置,那位大哥愿意帮忙,详细讲一讲如何配置。 TOleContainer怎么没有滚动条呀 在哪里可以找到mschart5.cab? 明天在莫斯科将产生2008年奥运主办国,请猜是哪个城市主办!答对者有分!(可加到204) 请问有没有做电力系统方面开发的? IIS是什么 如何用VB向串行口发送一个数据? 如何隐藏CScrollView中的Scrollbar? Image控件放大后其ClipRect不跟着放大,问题之二: 请教VC高手:如何存取SQL Server中的Image类型数据? 想见你 —— 大勇,你在哪里? 软件发布: 带频谱显示的MP3播放器 请帮我把“一切因你而存在、一切因你而精彩”用英语翻译一下!急、简洁点就行、 英语翻译我梦想中的房子是要建在山水环绕的地方,那里山清水秀.采用中西,故现代结合的建筑风格.房子的主体部分用的材料以玻璃木材为主.房子外形与大自然融为一体,给人以赏心悦目的感 英语翻译做为一名自愿者,应当待人礼貌、友好,避免不得体的言行.要做到坚守岗位,热忱服务,不望履行自己的职责,热情的向旅游者介绍文化,历史和科学成就. 你永远是我最美好的曾经 英语翻译 英语翻译The housing area____ ____ ____ _____3,000 square metres. 英语翻译当2001年7月13号,国际奥委会主席萨马兰奇宣布2008年奥运会举办城市是北京的时候,全中国人民都特别兴奋和激动.这一天对中国人来说是永生难忘的日子!中国人盼望了100多年的奥运梦 太棒了!(英文翻译) 用英语翻译:1.最大的那个房间是他的. 英语翻译Pop is the short form of the word "popular".The pop revolution of the 1960s changed the pattern of English life .And pop has become part of British life .And pop has become part of British and American history .There has always been a clo 我认为我英语很棒.英语翻译 英语翻译前面还有一句:Here is my( )后面的中文就是"这是我理想的房间 英语翻译顾问设计策划工程经纪执行总监项目总监策划总监制作总监董事首席 英语翻译:我认为他们很棒. 英文作文《我理想的房间》 名片英文翻译以下职务: 国内部副经理 英语翻译(你们的孩子永远是最棒的) 我们的理想房间(用英语怎么说?) 名片上面英文翻译的职务怎么排序啊,高的在前面还是低的在前面;另外不同的职务并列间用什么标点隔开? 英语翻译 你本来看上去很棒 英语翻译请帮他们列一智囊长购物计划.Plase help( ) ( ) ( ) ( ) ( ). 名片上的职务用英语怎么写?团队主管客户经理 英语翻译This movie __is __ .He is __ it,__. 求英文翻译:感谢李明制作了这张手抄报 名片上公司名称英文翻译:浙江永东电器制造有限公司 中国的北京故宫真的很棒!用英语翻译 "制作一张电子贺卡"用英语翻译一下(跪求) 名片厂名的英文我想制作名片,不知道怎么把厂名改为英文的,例子:东莞市石排正大橡塑制品厂,在下面英文是这样的:DONGGUANSHIPAIZHENGDARUBBERPLASTICMANUFACTUREFACTORY我现在想做的名片是:东莞市厚 英语翻译1.to show how much we're going to miss her,let's have a surprise party for her next Friday the 28th.2.bring Ms.Steen to the party without telling her so that she can be surprised.3.I look forward to hearing from you all. 英语翻译急需翻译以下内容:设计说明,本设计从所给用地周边情况出发,合理安排了出入口位置,并结合水域设计,设计了主要交通路线.在水与主要道路的交汇处设置了中心境观.此外,我们将其 英语翻译北京市海淀区花园东路32号花园公寓A座1302 我将要离开你,希望你要过的很好用英语翻译怎么讲 英语翻译“因为它是某一个公司制作的” 名片地址英文翻译西安市南关正街大南门 3号楼18-A2室 我不是寄生虫,离开你我也会活的很好的英语翻译 英语翻译过得愉快乘游览车到山顶打字和接电话报时相当多负责掌管 英语翻译北京市大兴区滨河东里19栋1单元502室 有真厉害 用英语翻译 英语翻译1.现在我们将为你介绍一些关于我们身边的插画,而这些插画都是我们现代80后以及90后的人普遍比较接受和认识的插画.2.现在为你们介绍的是在中国插花界以及在国外颇有影响力的著 英语翻译北京市朝阳区南磨房路37号华腾大厦2018Add:20F HuaTeng Building,No37 NanMoFang Road,CaoYang Section BeiJing 100022.P.R China业务经理:Operations Manager上面翻译得对吗?还有真皮拖鞋,厂家直销,量大从优.英 也许单身很好 怎么用英语翻译 英语翻译building scale 和 element scale有什么不同 能不能举个例子 在element scale里面的the public face,the approach又是指什么plan of the building - a diagrammatic plan showing the main funtions 屋子的主要功能?section o 英语翻译需翻译内容:江苏中丹精化公司、总部厂区、厂长、厂长助理、开发区厂区、总经理办公室、主任、总经理秘书 希望你过得好点用英语翻译 英语翻译要是大家之作的! 英语翻译中山市吉美玻璃制品有限公司中山市南头镇南河西路122号 英语翻译they _____ the birthday of their motherland _____ _____ songs 英语翻译The teacher tries many ways to ____ ____ not difficult for us ____ ____ ____. 建筑学062班 英语翻译怎么写呀 (急!) 英文翻译 "祝愿所有11月生日的朋友生日快乐" 这是学英语的好机会 英语翻译 英语翻译她身着粉色上衣,红色包裙,脚踏一双醒目的红色高跟鞋,远远看些就像一个圆圆的双层草莓蛋糕.乌黑的短发下有一张丰满的脸颊,鲜红的厚嘴唇格外突出,就像两根熟透的热狗.她的眼睛 英语翻译注意是将要. 英语翻译:“学英语是很好的,但得慢慢来,循序渐进” 谁能帮我用英语翻译一下面这篇文章.谢谢大家呢.我一直在等一个我深爱的人.不管是女子,还是男子,我从不寻找.因为我知道落空后的失望.我不怕相遇,不怕争吵.不怕离开,我只怕你站在我 翻译 最后,人们吃了她妈妈亲手做的生日蛋糕 英语翻译“你经常犯什么样的错误呢?”和“你认为学英语的最好建议是什么?” 英语翻译最后一周了,在这周里,我用三天时间把作业做完了,感觉真的很轻松.我参加了初中的同学举办的一次聚会,见回老同学,我真的很高兴,我们聚在一起烧烤,聊天,喝酒.可能因为太久不见面 其实大家都知道,我们都不是彼此的那杯茶 上句求英文翻译..麻烦了 有什么很好学英语的方法?对女孩子来说. 英语翻译不要用百度词典,错误太多┄我最喜欢的动物是松鼠,它们很可爱,也很聪明.它们喜欢吃松子,它们有一条大大的的尾巴和小小的身子.它们的颜色是棕色的,经常在树林里出没.我喜欢它
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn