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

利用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可加入其他功能如显示播放时间、曲目等。
Java内存模型的历史变迁 Java 8与Apache Ignite Java开发与技术挑战——关于技术的技术思考 专访唯品会架构师肖桦:做编码的架构师 越来越“简单”的Java 我的Java!越过山丘 专访沙梓社:做个“Think Different”的技术牛人 基于ES6,使用React、Webpack、Babel构建模块化JavaScript应用 财税街创始人石克清:创业须空杯心态+有效社交 自我知识管理:连贯性就是生产率 玩转Google I/O 2015:Android M、IoT、Glass 2.0、VR、ATAP ARC中Retain Cycle揭秘 失控与逆转!企业移动化2.0时代下如何求变? 玩转物联网之MQTT 专访都灵创客教育奚炎:被忽视的Maker教育 13岁iOS开发者:Swift开发Sprite Kit游戏实践 专访豌豆荚「自动装」开发团队:无需Root即可批量点击「下一步」 iOS项目的持续集成与管理 《近匠》谛听科技,探索智慧家庭的智能网关 【简讯】Python 3.5.0b1发布 《算法的乐趣》作者王晓华访谈:多看、多做、多想是秘诀 专访李祎:Java在Testin的技术应用 React首部经典图书推荐:全程经典实例,360度剖析React.js 再做一个Android!Google发布第二代VR眼镜Cardboard Go语言开发常见陷阱,你遇到过几个? 奏响年度最强音 第七届中国云计算大会日程全公布(表) 【CTO讲堂】请在还年轻的时候,尽量多踩些坑 以细分使用场景为突破点 探究墨迹天气的体验创新 熟练成就创造——MathWorks全球副总裁Richard Rovner、产品市场经理赵志宏专访 Objective-C编码规范:26个方面解决iOS开发问题 豌豆机器小组发布最新WRTnode2R,支持华为Liteos、QQ物联与AllJoyn 关于三角函数的问题 一个三百年前已忘得一干二净的问题 打包!!!问题问题。。。在线..... 一个c的问题!! [100分求救]在Canvas或Applet上画的图应该怎样输出为jpg图象呢? 用VC的console application 到底能编多大的程序? 关于程序在初始化时候注册窗口类的问题? 上网很慢 请问从log文件里都能得到哪些信息? 系统设计一般把数据表放一个数据库中还是分到多个数据库中? 树型控件的问题,PB8.03版本,大家遇到过吗? 强烈支持雍亲王倒分!!(江湖无赖) 怎样调用VC写的DLL 同步 兄弟们,我的rh8中怎么没有中文输入法? 在access中如何用函数?我怎么找不到函数库啊。那里有关于access的函数库教程? 请教 我装的DELPHI7.0不知为何在区域设置为“英文”是看到的汉字都成了“????”? <iframe>如何改变大小? 关于水晶报表的问题!(急!!!!)(在线等待~~~~~~~~) 关于vb脚本中运用三角函数的问题 一个三百年前已忘得一干二净的问题 cbc+数据库的问题????????? 能不能控制<input type='fele' ...>的文件类型,如不可输入(readonly全部都不能用了) 在线等待:谁有个最简单的加密算法? 谁有More Effective中文电子书! 请教一段java计时器的问题(送分了) 在ASP中能不能引用.net的框架组件,能的话该怎么做? 占便宜歌 不想周末加班了,帮我啊兄弟们! 小弟是2003年毕业生,想找个软件工程师工作,不知道有什么要求? 一个简单的添加记录语句,求解! 请问通常所说的“横表”“纵表”指什么。 我想在菜单显示之前将其文字都更改掉在哪个函数中写?? 各位高手快来指点一下,是关于动态创建组件的! http://expert.csdn.net/Expert/topic/1180/1180423.xml?temp=.7148706 各位高手快来指点一下,是关于动态创建组件的! http://devserver/mail/abc.nsf?login&Username=abc&Password=12345678 如何得到已有exe文件中的菜单资源,并且添加新的item(UP无分) 在线等待:winxp professional中文版的sn? 进度条的颜色能不能换?老是灰的! 求网卡RealTek8029在Solaris8的驱动程序!!!!!! 如何提高记录的入库速度?内见例子 简单问题,容易回答,容易得分,在线等待。谢谢 高手请进,有关MVC(模型-视图-控制器)设计的讨论 客户端配置的问题? 各位高手教两招吧!! 帮我看这个汇编程序,有高分送 关于WIN2000/XP机器收发传真??? 请问学习VC是要以学习C++的语言为主呢,还是要以学习VC++的集成开发环境为主呢? 如何响应asp.net中datagrid的双击事件?或者迂回实现目的? VB60开发IIS出错 static性质 描写勤奋刻苦的古诗 要整首诗!免了 不要写了已经回答的事莫要重复 一灯双控开关怎么接线我想知道用这边的开关能开灯,用那边的开关能关灯,那边的开关关灯后,用这边的开关还能开灯,请问是怎么接线?《明线》我的2个开关上的字母都是L,L1,L2,知道的说下, 拼音打字最快的可以每分钟打几个字? “我们之间,渐行渐远”英文翻译 一灯双控开关咋接. 拼音打字速度一般每分钟可以打到多少字 “听见风吹像一首渐行渐远的歌”英语翻译 一灯双控开关怎么按装线路. 如何论证:思想道德修养比知识文化修养更重要? 英文翻译 : 渐行渐远,直到消逝不见. 根据实物图连电路图,并说明开关在干路还是支路中 ,为什么. that isn't a watch改为复数形式? 四字词语 什么的小露珠 为什么有时智能ABC输入法不能选字呢..?有时显示不出选字体那个框..什么原因..? That isn't my CD 改成复数形式 英语翻译 我的智能abc输入法为什么打字只显示一个字,选字的都没有?哪个大哥大姐帮我解决下 1 请问2011年BEC高级报名费是多少啊 英语翻译 胡修齐,起英文名.必须要有谐音的,既有谐音又有意义那最好不过了.我自己研究了几个:Hughie ; Huxley ; Yuchi ; hoochie;juche; chalky……反正都是这一类的这几个里哪个更好? 2011年bec 高级报名时间如题…有几次报名时间?截止? 小露珠历险记作文 含有好看意思的词语有什么 我的名是志明,想起个谐音的英文名字?含义要好Gemin的读音,告诉我英式与美式的音标,Gemin是英文名字:我的名是志明,想起个谐音的英文名字,含义要好 英语翻译 含有“好看”意思的词语有:含有“好看”意思的词语有那些? 我叫姜冬阳,想起英文名,要和自己的名字最好有部分谐音或意义相同我一开始取wintersun,被同学嘲笑一番,那可以以此改变吗,我提高选赏了,如果没办法,我再从下列答案中选, 怎么判断电路图中的干路? What's that的复数形式 如何在实际生活中坚持科学文化修养和思想道德修养的有机结合 电路图以及连接实物图的支路和干路怎么找 心情美这次词内涵好深, 六年级上册英语活动手册第16—18页答案 小露珠像什么 材料一:北京师范大学心理系儿童研究专家舒华教授公布:很多孩子的学习问题是由阅读问题引起的,很多智力正常的孩子存在不同程度的阅读困难,严重的已经发展成阅读障碍,阅读困难不仅 is that bus red or green?改为复数句 什么是小露珠?露珠可以被叫做水珠吗? 空调电功率这两张图片分别是挂机和柜机的,3台柜机和10点挂机总共需要多少电功率,懂得麻烦告诉一下,/> 一个口字里面有一个女字怎么打 不用双控开关,一灯双控怎么接?听别人说是用三根线接的?具体怎么接? 怎样去算空调的电功率 一个口,里面有一个女字,就这字怎嘛打出来 求"两开关控一灯"的电路图? 2011年的中级BEC何时开始报名? 车、斤、土组合一个字拼音怎么打 并联电路中的支路和干路是什么意思啊 2011年BEC中级什么时候报名?在哪里报?在武汉的话在哪里报名呢? 一个口字加一个恩字念什么?怎么打呢?我聊天的时候老打不出这个字~霍霍.. 物理干路是什么意思 Who is that policeman over there?(改为复数形式) 世界第六长河是什么河? 干路先行的干路什么意思 双控开关 (二地控一灯)和三控开关(三地控一灯)怎么接呀?双控开关 (二地控一灯)和三控开关(三地控一灯)怎么接呀?回答的时候麻烦帮画下电路图, 六年级上册英语活动手册第四页和第五页不用了,现在只要第三页的第五题,也就是第四页上面的 嬲 这字念哈 拼音 BEC中级报名时间是什么时候呀? 蝴蝶的英语单词(复数) 请问这个嬲字的拼音? bec中级要准备多长时间,本人高中水平.还有要怎么准备呢 一个口里面有个男字怎么打
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘