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

利用VB进行多媒体程序设计初步

HTML文档下载 WORD文档下载 PDF文档下载
利用VB进行多媒体程序设计初步
VB(Visual Basic)具有很强的多媒体处理控制功能,VB的多媒体控制MCI(Media control interface)包括一套控制音频和视频设备但具有与设备无关的命令,用它来进行多媒体设计是很方便的。比如:你也许想拥有一个自己编写的CD播放器,那么利用VB的MCI只需写几行代码就可生成一个功能比较齐全的CD
播放器。下面简单谈谈用VB的MCI进行多媒体设计的初步知识并给出一个非常简单的CD播放器的例子。
在使用MCI之前必须安装好多媒体设备如声卡、CD—ROM等以及这些设备的驱动程序,否则MCI将不听指挥。

一、MCI控制的安装
MCI控制在VB不同版本中的安装方法是不一样的。在VB 3.0专业版中,MCI控制文件为MCI.VBX,在VB 4.0中MCI控制文件为MCI16.OCX(16位)、MCI32.OCX
(32位)。一般情况下MCI控制在启动VB之后并没有加入到工具箱中(TOOLBOX),需要自己动手安装它。

1.VB 3.0中MCI的安装。打开VB的FILE菜单,选择Add File项,从Windows\system目录下找到MCI.VBX,选择OK即可,这时你将发现TOOLBOX最后又多了一个工具,这就是MCI。如果你经常要用它,建议在VB目录下找到Autoload.mak 文件,用字处理软件打开它,把MCI.VBX添加在其中,这样每次启动VB时就将其自动调入。

2.VB 4.0中MCI的安装。VB 4.0支持16位和32位两种系统,在WINDOWS 3.1下只能使用16位系统。MCI不能和VB 3.0中一样用Add File调入,如果你这样做将会发现系统提示错误,需在Autoload.mak文件中调入。笔者打开Autoload.mak文件后发现调用格式为:OBJECT={序列号}#1.0#0;文件名,不知道MCI16.OCX的序列号是无法安装的。幸好在VB目录下的子目录SAMPLE下有一个MCI的子目录,进入它可以看到有一个MCITEST.MAK文件,打开它可以看到有:Object={C1A8AF28-1257-101B-8FB0-0020AF039CA3}#1.0#0;MCI32.OCX一行(也许您的序列号不一定和这相同),将这一行复制到Autoload.mak文件中即可。由于本人使用的是WINDOWS 3.1,在安装VB 4.0时32位系统无法装入,硬盘中根本没有MCI32.OCX文件,VB何以将MCI32.OCX调入呢?经试验发现VB以序列号选择文件,可能上述序列号是MCI16.OCX文件的序列号,进一步试验发现即使将序列号后面的MCI32.OCX去掉也可调入,这进一步说明了VB 4.0中一个OCX文件有一个对应的序列号,因此绝对不能改变序列号,否则将无法正确调入所
需的文件。MCI 安装完毕,用鼠标双击工具箱的MCI图标,如果在Form中出现9个熟悉的按扭,那么安装就成功了。

二、MCI的属性和事件
MCI提供许多关于MCI控制方面的属性和事件。比较常用的属性有:
Button visible 决定该按钮在MCI控制中是否可见。
Command 要执行的MCI命令,如Open Close Play Stop Eject等。
Device Type 要打开的MCI设备类型,如动画播放设备、MIDI序列发生器、激光视盘机、WAV文件播放器、录相机等。
Filename 使用Open命令打开或Save命令保存的文件名。
Length 确定一个文件或CD唱片的长度。
Track 指定特定的轨道,供Tracklength和Trackposition使用。
Tracks 当前MCI设备的轨道数。
Tracklength 在当前时间格式下,传回Track所指轨道的时间长度。
Trackposition 在当前时间格式下,传回Track所指轨道的起始位置。
Visible 决定在运行时刻多媒体MCI控制是否可见。

比较常用的事件有:
Buttonclick 当用户在多媒体MCI控制的按钮上按下或释放鼠标时产生该事件,
每一个Buttonclick事件缺省执行一个MCI命令。
Buttoncompleted 当多媒体MCI控制按钮激活的MCI命令完成后发送。
Statusupdate 这个事件可监测目前多媒体设备的状态信息,比如用滚动条来表示当前轨道的位置。详细的属性和事件的用法请参看控制帮助文件。

三、CD播放器的例子
对初学者来说,能利用入门知识编写一个的成功小程序是很鼓舞人心的,下面我们来编写一个非常简单的例子:迷你CD播放器。在MCI调入Toolbox之后,双击MCI工具,将会在Form中出现9个按钮,用鼠标移动这些按钮至合适的位置,然后双击Form窗体,把下面的代码加入到事件中:

Sub Form_Load()
MMControl1.DeviceType = “CDaudio" 'MCI设备类型为CD唱片
MMControl1.Command = “open" '打开设备
End Sub
Sub Form_Unload(Cancel As Integer)
MMControl1.Command = “close" '退出时关闭MCI设备
End Sub
保存文件,在CD驱动器中放入一张CD唱片,然后运行,你将发现九个按钮中Prev、Next、Play、Eject四个按钮变黑(有效状态),点一下Play按钮,音乐出来了!若驱动器中无CD盘则所有按钮都处于无效状态。这样一个简易CD播放器就完成了,它具有四种功能,但自己动手写的代码只有上面加注释的三行。这个CD播放器有点太简单了,下面就看你的了,你可以加入一些文字信息如开发时间、作者、版权等,再进一步学习MCI可加入其他功能如显示播放时间、曲目等。
Windows 8和IE 10:如何保障视频播放? 云计算大会讲师秀之13:梁家恩,12年积累,构建永久免费的语音云平台 众望所归:智能手机芯片将为服务器所用 没有学位,他通过以下四步进入Google 谈谈Google Polymer以及Web UI框架的未来 保密入髓:前苹果员工揭示公司是如此善于保守秘密 调查显示:软件开发公司出现“人才荒” 三星拟6月20日在伦敦召开新品发布会 推手机新品Galaxy和ATIV 历届中国云计算大会PPT集萃(五):数据安全隐患解析与应对 搞趣网创始人:做不了阳春白雪 就做下里巴人 CMDN Club 28期:创业公司一定不要浪费资源 浅谈Lean UX:我们到底该怎么设计? 张艺谋今日正式加盟乐视 作品专区落户超级电视 WebKit华丽转身:欧朋浏览器8.0新鲜出炉 分析师称应出售Bing?除非微软倒闭,否则不可能卖Bing Go Mobile沙龙第二期:软硬整合与创客精神 专访西电黄宝林:《基于GPU的并行NMF网络聚类算法》获奖背后故事 友友姚宏宇:用C,C++和Java实现自主研发之后,放开心态迎“高朋” 新技术对传统学科的颠覆:系谱网使用大数据寻亲问祖 IDC:2015年全球平板电脑出货量将超PC Web开发者的福利 30段超实用CSS代码 库克出席D11科技大会:苹果公司没有陷入麻烦 千兆的带宽是不够的,最新研究将我们带入400G时代! 告诉你一个事实:移动互联网依然不大 一切才刚刚开始 戴尔的10亿美元云扩建计划到底是什么? iOS vs. Android,应用设计该如何对症下药? 扁平化设计五大原则 16种折磨开发者的方式 2013年度中国优秀开源项目征集活动正式启动 技术趋势:产品设计向“钱”看 服务器领域:旧时代已过 新时代正在降临 关于金山公司的词霸那样的弹出菜单怎么做? 我从哪里可以买到powerbuilder8的多媒体教学光盘?thanks! 哪伟大侠有GB2322的汉字内码表啊? 关于对眼球经济的探讨(请各联盟盟主来看看!!!) 错在哪里? 如何才能实现将ListView的一列拖到另外一列的位置? 在VC#中订阅消息要手工输入,为什么不做成VB一样?有简单方法吗? 请问网吧管理软件是如何使屏幕变暗,并显示自己的对话框,禁止其他操作的? 第一次用VB,请指教 多线程中如何申请一块存储空间 Code Guard是什么东东?在线等待,马上给分! 这个错误是什么原因啊? 请问怎样获得默认打印机名! 哪位大虾能给小弟一点有关汉诺塔问题的资料呀?! ShellExecute(this.Handle,null,"c:\\",null,null,1)问题再探 PB6.5如何实现选择文件路径对话匡?急!在线等待。 为什么下面的enum定义要有一个方括号? dot menu是什么意思? 请教大侠为什么(333)这句不执行 如何将olecontainer载入的word文件全部显示,而不只显示第一页? 简单问题! 高手帮忙!如何通过服务器来自动查找、替换客户端文件 为何timer控件失效? @这个字符在C#中有何具体意义?不解 如何将sql server的检查约束延迟到Commit时 ado连接sql库问题 为何无法ping自己的地址呢? 滚动条判断 单个窗口程序可以运行,但是几个窗体连在一起就不可以了,好像是多线程的问题,请教各位 关于DBgrid再次求救 今天我好失败——斑竹过两天删除吧,让我宣泄一下 哎呀!!各位何必拉帮结派呢!!!这样不好啦!!影响水园大团结啊~~~没有加入帮派的人就很难在水园呆下去啦。。猪猪。。只有和他们沦为 CreateBitmap 与 CreateCompatibleBitmap 弹出一个窗体但是又不抢占其他窗体得焦点,怎么办? 利用DW-MX制作ASP.NET程序教程! vc中 调用 VB dll 时参数类型如何确定? 谢谢! 如何才能得知当前路径?比如VB的App.Path? Conn.OpenSchema怎么得到字段的信息? 一个进程写在共享内存中的数据被另一个进程读出去后的问题 大家开心开心吧! 笑过后体会体会...... asp与数据库连接的问题?急,急!(在线等待) 大家是怎么查VCL类库的类及函数的? 在线程里有无限循环时,好象不跳出循环就无法终止线程,是吗 UNIX的线程有没有类似Windows线程的消息队列和消息机制? 哪位大虾知道如何在网页中快速刷新显示后台计算的数据? 请问有谁知道PrinterResolution怎么和打印机对象连在一起呀, 偶有一个惊人的发现! 对话框中的按钮我怎么让它继承我自己的类? 请问有谁知道PrinterResolution怎么和打印机对象连在一起呀, 装了腾讯的浏览器现在删了 可是用cterm点击里面的网址还会调用腾讯的浏览器 如何修改注册表 那个键值? 电子邮件的问题 草,蝗虫,鼠,麻雀,毛虫,蛇,螳螂,狐和鹰中,有多少条食物链?说出是谁被谁吃 某面粉厂有一容积是24立方米的长方体储粮池,它的长是高或宽的2倍,当贴着他的一最大的内侧面将面粉堆成一个最大的半圆锥时,这堆面粉的体积是多少? 氯化镁与氨水反应可逆吗? 细胞膜的流动性有什么作用? 用matlab求解矩阵a的最大特征值及其特征向量,并将其特征向量归一化,对矩阵a进行一致性检验.速求a=(1 1 5 5 7 7 ;1 1 5 5 7 7 ;1/5 1/5 1 3 5 5;1/5 1/5 1/3 1 3 2;1/7 1/7 1/5 1/3 1 1/2;1/7 1/7 1/3 1/2 2 1) 氨水于氯化镁溶液反应的离子方程式 物理兴趣小组的同学在探究“音调与频率的关系”时,做了如下实验:(根据下列步骤,回答相关问题.)实验器材:一张旧年历卡片(或有弹性的硬纸板)、一辆自行车.实验步骤:(1)把自 送元二使安西的主要内容以及思想感情是什么?要概括些的! 磁场的方向就是磁体在磁场中受力的方向(参见补充说明)磁场的方向就是磁体在磁场中受力的方向,且磁感线的方向就是磁场的方向,那磁体的南极就不会与另一个磁体的南极所吸 (2012•乌兰察布)某物理兴趣小组的三个同学做“观察水的沸腾”实验,他们使用的实验装置分别如图a、b、c所示,酒精灯和烧杯均为同一规格.甲、乙、丙是使用这三套实验装置实验后作 王维的送元二使安西是什么思想感情 氢氧化镁饱和水溶液中加入几滴氢氧化钠后,氢氧化镁的溶解度会发生什么变化?pH值会发生什么变化? 已知函数f(x)=2cosxsin(x+π/3)+sinxcosx-√3sin²x,x∈R(1)求函数f(x)的最小正周期 (2)若存在x∈【0,5π/12】,使不等式f(x)>m成立,求实数m的取值范围 高粱.水稻.小麦.玉米.老鼠.麻雀.蟋蟀.蝗虫.蛇.鹰之间的生物链有点少 送元二使安西的感受是什么 一个零功率电阻值为10000欧、最大功耗为 500 mW 的 NTC热敏电阻,给它加载多大的电压时它就会烧毁? 在一个烧杯中放入许多碎冰块,把盛有碎冰块的试管插入烧杯中的碎冰块里,现用酒精灯隔着石棉在一个烧杯中放入许多碎冰块,把盛有碎冰块的试管插入烧杯中的碎冰块里,现用酒精灯隔着石棉 绿色植物的蒸腾作用带走了植物体中百分之九十九以上的水分.你认为对当地气候会有什么影响? 已知函数f(x)sinxcosx-√3sin²x+√3/2(1)求函数f(x)的最小正周期在f(x)在[-π/2,π/2]上的单调减区间;(3)求f(x)在[0,π/4]上的最值及相应的x取值范围 .某面粉厂有一溶剂是24立方米的长方体储粮池,它的长是高和宽的2倍,当贴着它的一最某面粉厂有一溶剂是24立方米的长方体储粮池,它的长是高或宽的2倍,当贴着它的一最大的内侧面将面粉 绿色植物的蒸腾作用帶走了植物体中大部分水分,你认为这对当地气候会有什么影响? 0欧电阻的功耗如何估算? 某面粉厂有一个容积是16立方米的长方体储粮池,它的长是宽或高的2倍,当贴着它一最大的内侧面将小麦堆成一个最大的半圆锥体时,求这堆小麦的体积. 一定量的理想气体,经历某过程后,温度升高.则根据热力学定律可以断定:一定量的理想气体,经历某过程后,温度升高.则根据热力学定律可以断定:(1) 该理想气体系统在此过程中吸了热. ( 220V输电线电阻为0.1欧,求损耗功率(1)居民楼内消耗的功率为44KW,为保证输入居民楼内的电压为220V,输电线总电阻为0.1欧,供电设备输出电压为多少伏?(2)把电功率44KW调到88KW,所有用电器均正常 一个烧着沸水的烧杯,用冷水往烧杯上泼,烧杯里的水再次沸腾,为啥快 物理题中“理想气体”是怎样一个概念 【数学】已知函数f(x)=2cosxsin(x+π/3)-√3sin^2(x)+sinxcosx求(1)函数的最小正周期(2)函数的最大值和最小值(3)函数的递增区间(4)方程f(x)=x/(50π)的根的个数 我家宝宝喝奶粉的水,我通常用矿泉水冲奶, 为什么氟利昂制冷系统自动化程度比氨制冷系统更高? 已知函数f(x)=2cosxsin(x+π/3)-√3sin²x+sinxcosx(x属于R)1 函数的最大值及取得最大值时的x2 函数的单调减区间 急求各位大大了 物理实验求指教 :一烧杯将水烧开后 .用塞子将口塞住 再浇冷水上去 水会沸腾,是为什么? 理想气体 两端开口、粗细均匀的U型玻璃管开口向上竖直放置,两段水银柱中间封有一定质量的理想气体,其液面高度差如图所示,则如果向右管倒入少量水银后,图中的 将 (填“增大”“不变 铁是不是无论有没有磁性都会被磁体吸引 1.有三个用电器,其中一个为“220V,60W”的电风扇,一个为“220V,60W”的白炽灯,另一个是“220V,60W�1.有三个用电器,其中一个为“220V,60W”的电风扇,一个为“220V,60W”的白炽灯,另一个是“220V,60W” 制冷系统中是不是只有氟利昂系统才用干燥器?氨系统不用吗? 铁为何能被磁体吸引, 若将两台“220V 400W的电暖器串联接入220V的电路,则两台电暖器的总功率是多少 一道物理题目 关于理想气体的直玻璃管中部有一水银柱,两端封闭,管水平放置时,两端空气压强恰为76cmhg,水银柱在管正中,将管竖直放置,水银柱上部空气长恰为下部空气长的两倍,则管内水银 在方格纸上画面积是18平方厘米的三角形画出的三角形的底和高都是整厘米数,可 电暖器(电扇形状的)发的什么 光 冷库采用氨制冷系统和氟里昂制冷系统哪个好? 某物理兴趣小组为了探究水吸收太阳能的度某物理兴趣小组为了探究水吸收太阳能的本领,做了如下实验:在一个水盆内装入6kg水,水的表面积为0.1平方米,在太阳光下垂直照射15min后,水温升高 一个圆柱形游泳池,直径是40米,深2米.(1)这个游泳池占地面积是多少?(2)在游泳池的一周围上护栏,护栏的长是多少米?(3)挖成这个游泳池,共需挖土多少立方米?(4)在池内的侧面和底面 理想气体物理题容器甲,乙用水平玻璃管连接,管内一段水银柱把气体分为左右两部分,甲乙两部分气体的厨师温度为27℃和37℃,现将两边气体的温度同时升高10℃,水银柱将怎么样变化?图是左甲 绿色植物参与水循环 复习 一个底面直径是40米,深2米的圆柱形游泳池,水深1.8米.先在储水多少立方米 对于氟利昂制冷系统,为什么需要设置干燥装置?若氟利昂制冷系统中发生“冰塞”,最有可能发生在管路中什么地方,为什么? 绿色植物参与生物水循环的形式是什么,他能够增加什么 一个圆柱形游泳池,直径是40m,池深2m,它能容水多少立方米?如果它的内壁和地面贴瓷一个圆柱形游泳池,直径是40m,池深2m,它能容水多少立方米?如果它的内壁和地面贴瓷的面积是多少平方米?要的 空调的制冷系统是怎么,氟利昂? 设函数f(x)=1-a/2×x²+ax-㏑x﹙a∈R﹚ 1.当a=1时.求函数f(x)的极值 2.当a>1时.函数f(x)的单调性3.若对任意a∈﹙2.3﹚及任意X1 ,X2∈[1,2],恒有ma+㏑2>|f(x1)-f﹙x2﹚|成立,求实数m的取值范围. 一个圆柱形游泳池,底面直径40米,深2米,这个游泳池的占地面积是多少?在池内的侧面和池底贴上瓷砖,需要多少面积的瓷砖 物理的物态变化中的六个概念的生活运用的例子,记住了概念可是总不会运用咋办 水稻、稻螟虫、蝗虫、青蛙、麻雀、蛇、老鹰、鱼虾、老鼠、黄鼠狼、猫头鹰、白鹭,它们之间食物链都列一列 某面粉厂有一个容积是16立方米的长方体储粮池,它的长是宽或高的2倍,当贴着它一最大的内侧面将小麦堆成一最大的半圆锥体时,求这堆小麦的体积. 冰雪加盐后为什么融化会更快如题 细胞膜的流动性使细胞膜具有识别外界信息的作用, 某面粉厂有一容积是24立方米的长方形储粮池,它的长是宽和高的两倍,当贴着它的一最大的内侧面将面粉堆成一个最大的半圆锥(如图)时,这堆面粉的体积是多少?(答案清楚些,好理解些) 磁场的范围是不是说明了磁力的吸引力的范围?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘