电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> PHOTOSHOP教程
visualbasic5.0中实现视频画中画_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
在VISUALBAISC5.0中可以使用播放视频动画文件(*.AVI)的方法在我们的软件中加入动画效果,但在软件中如何实现视频画中画的效果呢?经笔者摸索,发现利用WIDOWS95的API函数mciExecute、mciSendString和SetWindowPos可实现这一效果。

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

一、建立窗体。进入VISUALBAISC5.0系统环境,建立一个新的窗体FORM1。

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

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

通用模块:

DeclareFunctionmciExecuteLib"winmm.dll"(ByVallpstrCommandAsString)AsLong

DeclareFunctionmciSendStringLib"winmm.dll"Alias"mciSendStringA"(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong
DeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong

FORM1的ACTIVATE过程:

DimAAAsLong

DimPlayAviAsLong

DimtmpValAsString

DimKeyValSizeAsLong

OnErrorResumeNext

tmpVal=String$(1024,0)

KeyValSize=1024

PlayAvi=mciSendString("STATUSAVI01READY" Str(Picture2.hwnd),tmpVal,KeyValSize,0)

IfPlayAvi<>263Then

PlayAvi=mciExecute("closeAVI01")

EndIf

tmpVal=String$(1024,0)

KeyValSize=1024

PlayAvi=mciSendString("OPENAVI01.AVIALIASAVI01TYPEAVIVIDEOSTYLECHILDPARENT" Str(Picture2.hwnd) "WAIT",tmpVal,KeyValSize,0)

x1Pos=Picture1.Width

y1Pos=Picture1.Height

tmpVal=String$(1024,0)

KeyValSize=1024

AA=mciSendString("STATUSAVI01WINDOWHANDLEWAIT",tmpVal,KeyValSize,0)

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

tmpVal=Left(tmpVal,KeyValSize-1)

Else

tmpVal=Left(tmpVal,KeyValSize)

EndIf

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

AA=mciExecute("WINDOWAVI01STATESHOW")

tmpVal=String$(1024,0)

KeyValSize=1024

PlayAvi=mciSendString("STATUSAVI02READY" Str(Picture1.hwnd),tmpVal,KeyValSize,0)

IfPlayAvi<>263Then

PlayAvi=mciExecute("CLOSEAVI02")

EndIf

tmpVal=String$(1024,0)

KeyValSize=1024

PlayAvi=mciSendString("OPENAVI02.AVIALIASAVI02TYPEAVIVIDEOSTYLECHILDPARENT" Str(Picture1.hwnd) "WAIT",tmpVal,KeyValSize,0)

x1Pos=Picture2.Width

y1Pos=Picture2.Height

tmpVal=String$(1024,0)

KeyValSize=1024

AA=mciSendString("STATUSAVI02WINDOWHANDLEWAIT",tmpVal,KeyValSize,0)

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

tmpVal=Left(tmpVal,KeyValSize-1)

Else

tmpVal=Left(tmpVal,KeyValSize)

EndIf

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

MciExecute"WINDOWAVI02STATESHOW"

MciExecute"PLAYAVI01REPEAT"

MciExecute"PLAYAVI02REPEAT"

OnErrorGoTo0

FORM1的QueryUnload过程:

mciExecute"STOPAVI01"

mciExecute"STOPAVI02"

mciExecute"CLOSEAVI01"

mciExecute"CLOSEAVI02"

运行此程序可见两个动画同时播放,实现了视频画中画的效果。以上程序在VISUALBAISC5.0及WINDOWS95中运行通过。->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·粗略看了下领智4.0 RC的模板标签 有感
·Vista之家有奖征名进行中,现金+进口礼物
·站长心中永远的痛
·黑客,网络冒牌执法官!
·一个新人站长的第一次——卖站
·企业即时通讯市场潜力巨大腾讯隔河望金
·我在一家安全网站的工作经历
·莫让培训影响了你的视线
·一位因女友离去而痛苦中的站长
·您是否患有电脑依赖症?

最新文章
·中国网络股周二在纳市整体上涨
·北京全市网吧达1400家 年均收入过百万元
·好莱坞罢工编剧欲绕过影视公司自建网络公司
·IBM在京成立保险行业解决方案演示中心
·XP SP3公测在即 正式版本明年上半年发布
·联想退出数码相机业务
·陈绍鹏:联想公益创投计划的另类思考
·AMD后年推8内核芯片
·2007“中国芯”十佳揭晓
·成都用户分享联想奥运计划


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号