登陆注册
13955600000030

第30章 多媒体程序设计(3)

①在VB程序设计窗口的【工程】菜单栏中,单击选择【部件】,打开【部件】对话窗口;

②在部件对话窗口中选择“MicrosoftMultimediaControl6.0”选项;

③按确定按钮,工具箱中将增加一个MCI控件。

采取以上方法后可看到在工具箱的尾端增加了一个图标,即MCI控件的图标。可以像绘制其他控件一样,在窗体中绘制MCI控件,它类似于一个录音机的按钮,不过此时出现的按钮呈现浅灰色,表示还没有激活这个对象。MCI控件上的按钮从左到右依次为:上一首(Prev),下一首(Next),播放(Play),暂停(Pause),倒带(Back),步进(Step),停止(Stop),录音(Record)以及弹出(Eject)。

【例7.6】

用MCI控件播放CD音乐。

要用MCI控件播放CD音乐,首先要在窗体中加入该控件,然后在Form_Load事件中加入下面的程序,启动媒体控制对象。源程序如下:

PrivateSubForm_LoadMMControl1.DeviceType=“cdaudio”’告诉MCI要使用的多媒体设备类别

MMControl1.Command=“open”’要下达“Open”指令后,媒体控制对象才能使用

1是默认的媒体控制对象名,可以在属性窗口中进行修改。这个程序非常简单,此时只要按下黑色的\[Play\]按钮即可播放CD唱片。

在这个例子中,人们会发现媒体控制对象上有几个按钮呈灰色,无法使用。这是因为其AutoEnable属性的缺省值为True,此时媒体控制对象会随时随地监测所指定的多媒体设备的状态,并自动决定按钮的状态。对于CD音响设备,\[Step\]、\[Back\]和\[Record\]功能无效,故按钮为灰色,无法使用。而\[Pause\]和\[Stop\]按钮在\[Play\]按钮按下后变黑,使用户可以暂停或停止音乐的播放,同时\[Play\]按钮变灰,处于无效状态。

Autoenable属性虽然可以自动监测并设定按钮的状态,但它不会自行将无效的按钮从媒体控制对象上移走,要做到这一点,可将按钮相应的Visible属性设置为False。例如:

此三条语句可将\[Step\]、\[Next\]和\[Record\]按钮从媒体控制对象上移走。此外,如果不想系统自动监测,可以将AutoEnable属性设置为False,设定按钮相应的Enable属性,迫使其处于有效或无效状态。例如下面两条语句:

这两句可以使\[Play\]按钮有效,使\[Record\]按钮无效。

【例7.7】

在MCI控件的ButtonClick事件中,若将Cancel参数设为True时,系统不执行按钮代表的MCI指令,而是直接执行事件过程中的语句。例76中的程序改为如下:

此时执行程序,单击【Play】按钮并不能播放MIDI音乐canyon.mid,而是在消息框中显示“Playbuttoncancel!,不能播放”。因为在PlayClick事件中,将Cancel属性设置为True,所以媒体控制对象就没有执行按钮对应的play命令,仅执行事件过程中的语句。

【例7.8】

设计应用程序界面。

首先创建一个新的工程文件,在窗体中加入一个MCI控件,对这个程序来说,MCI控件的“录音”和“弹出”按钮是不需要的,可以在多媒体控件【属性页】对话框的【控件】选项卡中将这两个按钮的可视属性的对勾去掉,此时该控件中这两个按钮就会消失。接下来,在窗体上添加一个PictureBox控件作为播放视频文件的地方,再添加一个CommonDialog的控件,以显示“打开文件”对话框,方法是,单击【工程】菜单中的【部件】命令,弹出【部件】窗口,选择MicrosoftCommonDialogControl6.0控件。

添加CommonDialog控件到窗体后,在该控件上单击右键,选择快捷菜单的【属性】项,系统出现【属性页】对话框。接着修改各项参数,如图72所示。

图72CommonDialog控件属性对话框同时,还需要一个定时器控件和两个按钮控制文件,分别是“打开文件”、“关闭文件”,并将定时器的Interval属性设置为50ms。最后再添加一个滑块控件,方法是单击【工程】菜单中的【部件】命令,弹出【部件】窗口,选择“MicrosoftWindowsCommonControls6.0”控件。这时工具箱中会多出几个控件来,其中有一个控件名为“Slider”,就是滑块控件,如图73所示。

最后一步,将窗体上所有控件都调整好位置,调整好后的设计窗体如图74所示。

编写代码如下:

OptionExplicit

PrivateSubCommand1_ClickMMControl1.DeviceType=“AVIvideo”’设定使用设备类型为AVIvideo。

CommonDialog1.ShowOpen’显示“打开文件”对话框

MMControl1.FileName=CommonDialog1.FileName’MCI控件打开的文件

Picture1.Visible=True

MMControl1.hWndDisplay=Picture1.hWnd’设定Picture1为演播舞台窗口

MMControl1.Command=“open”’将播放设备打开

MMControl1.From=0’指定播放位置

MMControl1.Command=“seek”’在打开的文件中,设置下一个操作位置

Slider1.Min=1’设定Slider控件的最小值为1

Slider1.Max=MMControl1.Length’设定Slider控件的最大值为媒体文件的长度

Slider1.SmallChange=MMControl1.Length/20’单击键盘上下键时变化长度

Slider1.LargeChange=Slider1.LargeChange=MMControl1.Length/10

单击PageDown或PageUp时的长度

PrivateSubCommand2_ClickMMControl1.Command=“close”’关闭播放设备

Picture1.Cls’清除Picture控件中的内容

PrivateSubTimer1_TimerSlider1.Value=MMControl1.Position’设定滑块的位置等于媒体文件的位置。

EndSub

7.5调用API函数开发多媒体程序

使用MCI控件开发Windows系统下的多媒体程序,具有简单、快捷、方便的特点,但在实际程序设计中,常会碰到一些利用MCI控件不好解决的问题。例如,VB语言不包含语音支持、I/O端口访问以及位图操作等。为适应不同层次程序设计人员的要求,VB提供了直接调用Windows的API函数的功能,通过调用API函数,可以实现对系统的各个层次的功能调用。

7.5.1VB的APl函数调用

同类推荐
  • 多媒体技术

    多媒体技术

    多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术
  • 如何选购电脑

    如何选购电脑

    本书以问答的形式介绍了选购电脑的基本知识。内容包括:电脑的组成、选购电脑的技巧、主机的部件构成、主板的主要类型、CPU的性能指标等。
  • 如何处理电脑故障

    如何处理电脑故障

    本书以问答的方式介绍了电脑会出现的各种故障,内容包括了音箱声音失真,如何处理?如何做好电脑的日常维护等等问题。
  • 云计算和现代远程教育

    云计算和现代远程教育

    本书介绍了云计算知识、云计算的特性、云计算技术、云计算中的访问云、云计算中的云存储、云计算在远程教育中的应用等内容。
  • 一本书读懂大数据

    一本书读懂大数据

    本书是深入研究互联网思维的经典之作,从互联网思维的定义到互联网思维应用的具体案例表现。作者深入浅出、条分缕析,全面阐述互联网思维的内核与精神,逐一点评当前关于互联网思维的各种观点。本书从最初级的互联网思维应用到高端的粉丝经济,平台建设,自媒体营销的方法都有详细讲解介绍。让读者了解什么是互联网思维的同时还能学会把互联网思维运用到自己的工作学习已经生活中。
热门推荐
  • 九龙逆空

    九龙逆空

    他是神王九子琉光,因为私下凡人界,擅自修改凡人命格,而被变下凡人界重修金身。离去时,他说,“我说过,当我琉光归来之时,八荒六合,唯我独尊!你们容不下我。没关系!容不下我的人,杀!《法典》容不下我。没关系!我要重造《法典》!”
  • 重生之我是巫妖王

    重生之我是巫妖王

    1200年的轮回。一个来自异世的男子。一把被称为邪器的黑色重剑。一只千年不遇的巨熊灵魂。一条不知所云的冰霜巨龙。墨色的夜。艳色的血。无神的泪。当到达那最终的地方。又会找到什么。
  • 龙镜风云录

    龙镜风云录

    童男童女,家仇国恨,小小年纪,历经岁月沧桑,得到上乘大师指点,刻苦钻研数载,终于取得绝世身份,造福天下,魂归天下!胸怀天下的人,最值得天下人敬仰和爱戴!林静子,岳小峰,小不起眼的两位平凡之人,却有如此非凡作为,爱恨情仇,天下奇观,古今中外哲理,社会百态,教育成长,尽在其中!这是一本教育书,也是一本武侠书,也是一本玄幻书,也是一本言情书,书本古典文字浓厚,奇思妙想纷呈,赢在天下,梦在天下,天下归一,和谐如画!敬请各位大仙耐心观看《龙镜风云录》,相信我,就像相信你自己!拱拳拜谢!!!!
  • 秦汉风云之楚河汉界

    秦汉风云之楚河汉界

    秦末汉初——这是继春秋战国之后历史上第二个人才大井喷时期;这些载于史册、耳熟能详的人物:千古一帝——秦始皇,汉高祖——刘邦,西楚霸王——项羽,扶苏,李斯,蒙恬,萧何,张良,韩信,陈平,陈胜,吴广,楚怀王,范增,郦食其,蒯通,章邯,王离,张耳,陈余,魏咎,魏豹,田儋,申阳,赵歇,曹参,周勃,樊哙,夏侯婴,灌婴,虞姬,钟离昧,英布,季布,龙且,项庄,项伯,……或谋于朝堂,算无遗策;或运筹帷幄之中,决胜千里之外;或三寸之舌,强于百万之师;或弓马娴熟,驰骋于疆场;在波澜壮阔的历史的舞台上,纵横捭阖,谱写了一幕又一幕惊心动魄的英雄史诗。
  • 独占鲜妻,总裁的大牌天后

    独占鲜妻,总裁的大牌天后

    他是家世显赫,呼风唤雨的顾家大少。她是炙手可热,丑闻缠身的一线女星。年少的一场意外,留下一道惨烈的伤痕。“我们……以前认识?”一夜过后,他轻抚着枕边熟悉又陌生的俏脸,眼神迷离。“……顾少说笑了,您是高高在上的贵公子,而我,只是一个靠脸吃饭,以色上位的女明星,云泥之别,怎么可能认识?”“也是,当年你要没有爬上三叔的床,恐怕到现在还只是个上不得台面的三流明星。”她搂住他的脖子,奉上自己的朱唇:“现在我又爬上了顾少的床,前途肯定是更加不可限量了,你说对吗?顾少。”“那是自然,只要你保证在我玩腻之前,只专属于我一个人。”话落,他迅速化被动为主动,如狼似虎。他却不曾发现,有一滴泪,从她眼角,缓缓落下……
  • 天妃神君

    天妃神君

    前世,她是他不愿意娶的妻子,而他是她为了祈求庇护必嫁的夫君。她空有天妃之名,却没有天妃之福。在天庭中摆显千年,是从仙口中数指称赞良妻贤妃,可却从来没有入得他眼。不过,她不在意。只是和他一场交易过后,她几乎倾覆生命。命没了不要紧,只求来世能自己做主。所以,她潇洒的从九重天天下跳入万丈红尘。她笑这说:来世,只愿不在遇见你.——————————————今生,他站在她的面前。递给她一枝含苞待放的梨花:“你可愿意拜我为师?”她裂嘴一笑,接过梨花。从此跟在他身后。“师傅啊!我以前是不是见过你啊?”他身子颤抖,低头看着年幼的她:“也许是。”“在哪?”“黄泉彼岸,奈何桥头的三生石旁。”千年又千年,沧海变桑田。弹指红颜老,此情永不变。------------------------------------------------------------------------------------花絮:“妹妹,你必要这样牺牲自己的幸福嫁给一个不爱你的男人。”女子摇头一笑:“只要换的我族太平,又何来牺牲可说。”“本君想求你借龙珠一用。”男子沉默,然后又道:“日后若有你想要的,本君一定为你做到。”女子冷笑,这就是换取龙珠的代价吗?为了别的女子,他还真能委曲求全。龙,没有了龙珠。就好比神仙没有了元神,妖精没有了内丹。他可知道?他现在要借去的,不是一颗珠子。而是她的命?若真有想要的,就是用今生的潦惨,换取来世的太平......------------------------------------他娶她千年,便冷漠她千年。她总是不吵不闹的站在他身后,做一位无可挑剔的天妃。原以为自己的心不会为她有过那么一丁点悸动,可是,当她像蝴蝶一样翩然从他指尖划过的时候,那伸出去想要抓住她衣袖的
  • 撒旦的华丽圈套

    撒旦的华丽圈套

    订婚宴上,她高调落跑,让他颜面尽失。他发誓,要狠狠的报复她,加倍回报她带给他的耻辱!但是为什么看见她的泪水,他的心会没由来得一阵刺疼?该死的,真是见鬼了,貌似自从生命中她的出现,所有的一切都与原来的计划偏离了轨道!他真是败给这个蠢蠢的小丫头了。
  • 百家与典籍:历史纵横谈

    百家与典籍:历史纵横谈

    本书是一部全景式再现中国历史的大型图书,它在吸收国内史学研究成果的基础上,将中华文明悠久历史沉淀下来的丰富的图文资料融为一体,直观的介绍历史发展进程,全书以多幅珍贵图片,配以文字叙述,全方位介绍中国历史的基础知识,内容涵盖政治、军事、经济、文化等诸多领域。
  • 桐谷和人

    桐谷和人

    一个独行侠,一个游戏BUG般的存在!且看他如何玩转
  • 异界修炼传说

    异界修炼传说

    一个从21世纪穿越到异界的年轻小伙,身带着一部系统,看他怎样用这副系统泡尽天下妞,怎样打败天下无敌手!来一起见证吧