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

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中运行通过。
VB中实现同一窗口的多个实例及控件的动态增减 VB中阴影字体的实现 VB自定义数据结构的传输转换 Visual Basic 窗体背景花纹的实现 Visual Basic 中的界面设计原则和编程技巧 Visual Basic 中文本框处理技巧集萃 Visual Basic 中字符淡出淡入的实现 Visual Basic窗体背景花纹的实现 Visual Basic下工具条的制作 Visual Basic中的界面设计原则和编程技巧 Visual Basic中在同一界面输入大量数据的几种方法 VisualBasic中的界面设计原则和编程技巧 VisualBasic中用户界面的设计原则 把 VB 标准的工具栏变成平面式 把窗体卸载干净-VB资料 保持初始的窗体大小-VB资料 编程实现将所有窗口最小化-VB资料 不规则形状窗口详细说明 -VB资料 不用 API ,直接调用关联的程序 -VB资料 处理过程时的鼠标显示 -VB资料 窗口处理技巧大全 -VB资料 窗口事件的发生顺序-VB资料 VB创建不规则窗口 VB创建透明窗体 VB创建位图菜单 VB创建无 Icon 的窗口 打开 Win95 的创建快捷方式窗口-VB资料 打印机技巧 -VB资料 带有历史记录功能的菜单-VB资料 得知目前Mouse所指的Menu Item是哪一个-VB资料 调整 Combo 下拉部分的宽度 -VB资料 用5行代码就让系统重起的帖子怎么找不着了?谁告诉我?加分了!! 素女经 如何修改SQL数据库表中的数据 在对话框里输出文字?不要控件!!不要static 控件 一个关于打印的怪问题! 如何将数据库通过JDBC接收并将字段关键字连成一棵树(每一分支最多64节点) 救急!!!!!!!小妹我遇到一点问题! 今年就业形势“大好”! ******* 马上就给分,所以给的少了点,大家别介意 ******** 大家给点意见 请关注一个初学者的问题?我学sql但是不知未来的发展趋势!? 图形数据窗口(line 星)点太大,如何缩小 救急!!!!小妹我遇到一点问题! 用bcb制作动态网页 数据窗口 Graph 类型 line 样式 如何学c语言? Delphi中如何获的其它应用程序中的内容? 显示颜色变成只有16色和2色? DWORD 参数传递的问题。 那里有播放AVI文件的程序?谢谢! 参数传递问题!!大侠帮帮我 请帮我修改一下源代码(delphi)请帮忙改一下,让它打印了不往里(数据库)存。 BIOS设置,用电脑是不是可以当闹钟呢? 五笔输入法忽然不能用了 救就我,为什么Frame的客户区变小了?关于切分窗口 怎样查找某一个目录下一个表是否存在? 请问有用过李阳疯狂英语的朋友吗?请说说到底怎么样? 我想向各位大侠请教一个问题? 如何屏蔽TEXTBOX的回车响应? 关于《各位学习编程的目的是什么》的总结 m_pusrrcdset->m_pDatabase->ExecuteSQL("")为什么不行?老是ASSERT错误 请问我刚入bcb的大门,有什么好的参考书可以看看吗? 有没有人知道计算机等级考试四级怎么查分啊? 如何将几个数组的信息写成一个.txt文本文件 笔试题请教? 请教一个小问题! 好难呀好难呀!!!!! 今天狠了狠心买了一本<>,花了我十分之一的工资!心疼啊!散点分! 请问有谁知道如何在C#中使用DirectX? 我在Picturebox中用Picture1.print打了200行数据,可我只能看到前20行 pb数据窗口中的列名在win2000 server里为什么显示不了中文? God save me,help...... tcl手机所使用的是那种操作系统,能否告知小弟,重分相谢! 异常中的问题 刷新对话框的背景图片(基于对话框的程序,而且刷新不只一次)! 请问? 急急急!!上网后的图标不见了!!! 为什么我写了个JSP写入数据库中的中文在数据库中查看是乱码? 用vb制作动态网页 怎么给分给别人? 在平面直角坐标系xOy中,反比例函数y=k/x的图像与y=3/x的图像关于x轴对称,又与直线y=ax=2交于点A(M,3)试确定a的值 大气中起吸收紫外线,保护地球生命作用的是哪种成份? 一块小麦试验田,今年比去年的产量增产2成,增产了540千克.去年共收小麦多少千克虽然我没有钱悬赏 但是我希望大家都能有一颗真诚的心来帮助我! 在平面直角坐标系xoy中,反比例函数Y=K/X的图象与Y=3/X的图象关于X轴对称,又与直线Y=AX+2交于点A(M,3)A值 被成为 地球生命保护伞 的是大气中的 (什么) 成分 空气滤清器叶片环起什么作用 已知直线y=(1-3k)x+2k-1.(1)k为何值时,直线在y轴上的截距为-2? 大气对地球生命的保护侧重于“大气在地球环境 中扮演的角色和对生命体的作用” 已知二次函数y=(k-2)x^2+2kx+3k,根据给出的条件求出相应的K的值,(抛物线的顶点在x轴上) 已知直线y=(1-3k)x+2k-1.(1)k为何值时,直线在y轴上的截距为2?(2)k为何值时,直线与x轴交于(¾,0)(3)k为何值时,y随x的增大而增大 过量的紫外线会诱发皮肤癌,大气层依靠什么来阻挡部分紫外线,保护地球上的生物?大气层的这种功能现在有没有受到影响? 已知二次函数y=(k2-1)x2-(3k-1)x+2.(1)二次函数的顶点在x轴上,求k的值; 已知直线y=(1-3k)x+2k-1 (1) k为何值时y是一条与x轴平行的直线 幸福村共有6块水稻试验田,每块试验田2006年的收成与去年相比情况如下:幸福村共有6块水稻试验田,每块试验田2006年的收成与去年相比情况如下(增产为正,减产为负):48千克,—35千克,40千 已知二次函数y=(k方-1)-(3k-1)x+2(1)二次函数的顶点在x轴上已知二次函数y=(k方-1)-(3k-1)x+2(1)二次函数的顶点在x轴上,求k值2 若二次函数与x轴的两个焦点a b 均为整数点(坐标为整数的点),当k为整 已知a^x=1/2,b^k=-1/3,求a^2k-3k的值 y=(2k-1)x+(3-2k)k的范围 已知二次函数y=(k²-1)x²-(3k-1)x+2 (1)二次函数的顶点在X轴上求K (2)若二次函数与X轴的两点交A.B均为整数点,则当K为整数时求AB两点坐标 急 大气对地球有哪些重要作用 A={X|-3大于等于X小于等于2} B={X|2K-1大于等于X小于等于2K+1} B小于等于A.求k的取值范围 空气滤清器起到什么作用,如何保养维修? 空气层对地球有什么好处 地球的外衣——大气层. 刚收割的500克小麦烘干后,轻了63.2克,求这种小麦的含水量? 地球表面的空气层叫大气层,由于它也受到( )作用,且具有( ). 初二上学期第二章地球的“外衣”____大气答案初二科学上学期第二章地球的“外衣”____大气答案 怎样保养空气滤清器 为什么地球的大气具有保温作用 地球的衣裳阅读答案 小麦为什么要烘干?关于小麦烘干的问题有哪位达人知道一二,南方的小麦为什么使用烘干设备烘干,北方好像不用,这是为什么? 六年级第一学期语文课本第一课中的芒针是什么意思 设集合A={xIx=2k,k∈N},B={xIx=3k,k∈N},则A∩B等于 1\当K=___时,3k(2k-50)+(2k-1)(1-3K)=19 地球的大气层有什么作用?如果没有大气层,地球将会怎样? 若3k(2k-5)+2k(1-3k)=52,则K等于多少? 下列现象中,与大气对太阳辐射的削弱作用无关的是?A.多云的夜晚比晴朗的夜晚温暖些 B日出前天已亮,日落后天不黑C夏季白天多云时,气温不会太高 D 平流层的气温随高度的增加而增加A 请解 大气层的存在,使地球变得较适宜生命的出现和繁衍.大气层的作用中较重要的作用是保护作用,请列举大气层对地球的好处. (3k-2)(2+k)-(2k+1)(3-2k)=0算的麻烦, 大气对太阳辐射的削弱作用主要有哪几种方式,各有什么特点 大气层中起到吸收紫外线,保护地球生命作用的是哪种成分? 空气滤清器的作用是什么? 大气对太阳辐射的削弱作用中,不具有选择性的是 请问大气层对地球生物的好处或人类如何保护大气层? 改装冬菇头空气滤清器有什么好处 为什么花生和大麦较其他动植物含水量较低? 人类对环境造成的正和负面影响? 祖父把我叫过去,慢慢讲给我听,说谷子是有芒针的,狗尾草却没有,只是毛嘟嘟的,很像狗尾巴.改引述句例:拉骆驼的说,他们从门头沟来,他们和骆驼,是一步一步走来的.拉骆驼的说:''我们从门 已知二次函数y=x²+(2k+1)x+k²-1的最小值是0,求k值.(请详细这题) 生物都生活在有空气的环境中.这句话对吗? 狂犬疫苗注射方法 0 7 21天 第一天注射两针 为什么打四针患者信息:男 30岁 河南 周口4月4号注射两针 然后11号 25号 为什么只有四针 不是5针吗 已知关于x的二次函数y=kx2+(k-1)x+k-1最小值为0,求k的值 在平面直角坐标系中,已知点A(-3,N)和点B(1-M,M-3),若点A与点B关于Y轴对称,则M= N= 地球上空气的作用有什么样? 已知二次函数y=x²+(2k+1)x+k²-1的最小值是0,求k的值需要一些大致的过程 影响生物生活的环境因素分为两大类:一类是〔 〕,如阳光、空气等;另一类是〔 〕,是指影响生物生存的其他 地球上的生命有哪些作用 二次函数y=x方+(2k+1)x+k方-1的最小值是0,求实数K的值.我30号要交考卷啊 在平面直角坐标系中,点A(-3,m)与点B(n,1)关于x轴对称,则m+n= 某村共有六块小麦试验田,每块试验田今年的收成与去年相比情况如下(增产为正,减产为负,单位:kg)55,-40,10,-16,27,-5 一块小麦实验田今年产量4600千克,比去年增产600千克,今年比去年增产几成?快
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn