(计算机应用技术专业论文)多媒体应用程序开发环境的研究与实践.pdf_第1页
(计算机应用技术专业论文)多媒体应用程序开发环境的研究与实践.pdf_第2页
(计算机应用技术专业论文)多媒体应用程序开发环境的研究与实践.pdf_第3页
(计算机应用技术专业论文)多媒体应用程序开发环境的研究与实践.pdf_第4页
(计算机应用技术专业论文)多媒体应用程序开发环境的研究与实践.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)多媒体应用程序开发环境的研究与实践.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多媒体应用程序开发环境的研究与实践 摘要 摘要 f 随着多媒体技术的迅猛发展和不断普及,多媒体软件的开发在当今社会中的 作用目趋重要,如何高速度、高质量制作和设计出大量各类的多媒体应用镶劈黾 计算机从业人员所面临的迫切课题,也是广大人民群众所关心的事情。y 本论文首先论述了有关多媒体应用软件开发的特点和概况,接着,作者在综 合分析了当前与多媒体开发相关的许多新技术的基础上,建立了一个多媒体应用 程序集成开发环境,为多媒体应用软件的开发提供了一个方便、快捷的途径。由 于当前广泛使用的v b 语言对多媒体开发存在着一定的局限性,因此本文花了较大 的篇幅详细论述了把w i n 3 2a p i 融合到v b 中去的许多技巧,使v b 在多媒体开发 中如虎添翼,较好地解决了过去存在着的若干难点问题。最后,对w i n 3 2a p i 在 多媒体程序设计中的功能进行深入探讨与实践。 关键词:多媒体;多媒体开发; w i n 3 2a p i ( 应用程序接口) 江苏理工大学计算机应用技术专业硕士论文 v b v 7 第1 页 多媒体应用程序开发环境的研究与实践 a b s t r a c t 摘要 w i t ht h er a p i dd e v e l o p m e n ta n dp o p u l a r i t yo fm u l t i m e d i at e c h n o l o g y , m u l t i m e d i as o f t w a r ed e v e o p m e n ti sb e c o m i n g m o r ea n dm o r ei m p o r t a n tt o d a y h o wt od e s i g nam a s so fm u l t i m e d i aa p p l i c a t i o ns o f t w a r eo fg o o dq u a l i t y i ns h o r tt i m e ,i st h es u b j e c tw h i c hp e o p l ew o r k i n gi nf i e l do fm u l t i m e d i a f a c e ,a n dw h i c ht h em a s s e sp a y c l o s ea t t e n t i o nt o f i r s t l y ,t h ec h a r a c t e ra n dg e n e r a ls i t u a t i o no n m u l t i m e d i aa p p l i c a t i o n s o f t w a r ed e v e l o p m e n ta r ei n t r o d u c e d a n dt h e n ,b a s e do na n a l y z i n gm a n yn e w t e c h n o l o g i e sr e l a t i n gt om u l t i m e d i ad e v e l o p m e n t ,a ni n t e g r a t e dd e v e l o p i n g e n v i r o n m e n to fm u l t i m e d i aa p p l i c a t i o ni s c o n s t r u c t e d ,w h i e hp r o v i d e sa c o n v e n i e n tw a yo fd e v e l o p i n gm u l t i m e d i aa p p li c a t i o ns o f t w a r e a 1 t h o u g hv b i sw i d e l yu s e di nt h ea r e ao fm u l t i m e d i ad e v e l o p m e n t ,1 i m i t a t i o nc o n s i s t s i ni t a c c o r d i n g l y ,m a n ys k i l l sw h i c hc o n n e c tw i n 3 2a p it ov ba r ed is c u s s e d a t l e n g t h ,w h i c hs o l v e s o m ep r o b l e me x i t i n gb e t t e r s ov bc a nd e v e l o p m u l t i m e d i aw i t hm i g h td o u b l e d f i n a l l y ,t h ef u n c t i o no fa p ii nm u l t i m e d i a p r o g r a m m i n gi si n q u i r e di n t oa n dp u t t e di n t op r a c t i c e k e yw o r d s :m u l t i m e d i a ;m u l t i m e d i ad e v e l e p m e n t ;w i n 3 2a p i ;v b 江苏理工大学计算机应用技术专业硕士论文 第1 i 页 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并 向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权江苏大学可以:悔本论文的全部内容或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫:莆等复制手段保存和汇编本学位论文。 保密 口,在 年后解密后适用本授权书。 本学位论文j 蓦于 不保密耐。 学位论文作者签名:膨 弦讲年巧月) ,5 同 指导教师签名: 夕删三年彩h 匆矿 幻j 膨归 r 毒t 冀 本人郑重声明:所旱交的学位论文,是本人存导师的指导r ,独立进行研究工作所取 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他人或集体已经发表 或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已扯文中以明确 方式表明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:彬 同期:z 卿1 ,年4 月2 j f 1 墨塑堡生旦矍壁茎丛堑堑盟堕塞墨塞些笙二皇塑查 第一章概述 一、多媒体开发的作用及重要性 在当今信息社会,以多媒体为特征的信息技术和信息产业的发展及应用对人 类社会产生的影响和作用愈来愈明显,愈来愈重要。多媒体能改变信息的包装, 实现知识信息数字化,为人们获得知识信息提供极大的方便和无穷的乐趣。友善 的人机界面、多种多样的多媒体教学软件、诱人的电子游艺节目、身临其境的多 媒体导购系统、五花八门的信息家电和高效方便的网上查询等等,无不渗透着多 媒体的作用,它引导人们进入了一个有声有色的世界。同时,多媒体的发展和应 用,极大地推动了各行各业的相互渗透和飞速发展,大大改变了人类社会的工作 环境和生活方式。可毫不夸张地说,多媒体产业的形成和发展,不仅引起了计算 机工业的一次革命,也正在深刻地影响人类社会发生巨大的变革。 多媒体技术的发展在很大程度上依靠于多媒体软件开发的水平。目前,不 管是支撑多媒体系统的系统软件,还是管理和开发软件,以及多媒体的应用软件 都在能力和数量上还难以满足多媒体飞速发展的需要。特别是多媒体应用软件的 缺乏,一直是制约多媒体产业发展的瓶颈问题,因此已成为多媒体研究和开发的 关键问题。如何制作和设计出大量高质量的多媒体应用软件是计算机从业人员所 面临的迫切课题,也是广大人民群众所关心的事情。 二、多媒体开发的特点 首先,多媒体开发用到的媒体不再局限于传统程序设计用到的数值、文本, 还包括图形、图像、声音和动画等媒体,其所涉及的信息范围和空间大为扩展。 其次,多媒体开发将使用户不再仅仅被动地接受信息,而且可以主动地参与 到整个信息交流过程中去。它向用户提供更加有效的控制和使用信息的手段及方 法,同时也为应用开辟了更加广阔的领域。多媒体开发可做到让用户自由地控制 和干预信息的处理,增加对信息的注意力和理解,延长信息的保留时间。 再次,在多媒体开发过程中不仅要集成多媒体信息,还要集成与之有关的工 具和设备。多媒体开发要使各种信息媒体成为一个有机的整体,以便实现信息的 充分共享和操作。 三、多媒体开发平台及评价标准 软件和硬件平台是实现任何应用系统的基础,多媒体系统也不例外。所谓多 媒体软硬件平台实际是开发和应用多媒体系统的各种技术和各类设备组成的有 江苏理工大学计算机应用技术专业硕士论文 第l 页 童堡堡窒旦堡壁墅茎塑:望塑堕塞墨窒堕墅二兰! ! 查 效开发环境。硬件平台主要指的是支撑多媒体系统的各种机器和设备,而软件平 台主要指的是支持多媒体系统开发和运行的各类软件和开发工具。 1 多媒体系统的体系结构 多媒体应用系统从体系结构上讲可划分为四个层次:第一层是直接支配各种 专用多媒体设备的多媒体操作系统;第二层是基于操作系统之上的各种专用多媒 体数据采集软件;第三层是供创作人员使用的多媒体开发平台;第四层是通过创 作工具产生的最终多媒体应用产品。处于第三层的多媒体开发平台实际上是将底 层所生成的各种媒体数据( 图、文、音、像等) 集成在一起生成面向最终用户的 多媒体应用产品的软件开发平台。 多媒体开发平台是多媒体开发技术中的一项关键技术,它是一种高级的软件 程序或命令的集合。多媒体开发平台的目的便是提供给设计者一个综合环境,使 设计者可以将不同的内容与各种功能结合在一起,形成一个结构完整的节目,因 此多媒体开发平台通常应包括建立,编辑,输入和输出各种形式的数据,以及将 各种数据组合成为一个连续性系列的基本工作环境。 2 多媒体开发平台的基本功能 多媒体开发平台一般具有以下四个基本功能: 导入:导入其他应用程序中的图像、文本、影像、声音和动画等信息。 创建:设计、编辑、绘画、键入文本等。 集成:使用已有的图、文、音、像等资源,编排事件执行次序、定时、链接等。 交付:也即开发自运行的应用。 3 多媒体开发平台的评价标准 面向对象的编程能力 面向对象的编程保证了良好的用户界面处理能力;面向对象的编程中程序和 数据封装使得它们更具有模块独立性和继承性,这保证了应用软件系统的可扩展 性;面向对象的编程符合人们解决问题的一般思维方式,加上它为用户自动生成 许多对象的框架,方便用户开发软件、提高开发效益。 对多媒体数据的支持能力 图、文、声、像、动画和视频等多种媒体在创作平台中汇总集成,而这些媒 江苏理工大学计算机应用技术专业硕士论文第2 页 查堡堡生旦堡壁墅垄堑撞堕堕塞皇窒些坠二妻堕 体信息一般是由各种多媒体数据准备软件和编辑软件产生的,它们具有一定的文 件格式,有时同种媒体也可由不同种工具软件产生而以不同的文件格式存放,这 就要求创作平台能兼容多种媒体的多种文件格式,或者说创作平台要与一般通用 的多媒体制作工具兼容,兼容能力越强,用户使用越方便。一般至少要兼容图形 或图像文件的格式有b m p 、t i f 、t g a 、p c x 、j p g 等,声音文件的格式有w a y 、m i d 等,动画文件的格式为f l i 、f l c 、a v i 、m p e g 等。 超文本能力 由于多媒体应用软件尤其是一些教学课件需要非线性的内容组织和播放方式 以使使用者很方便地得到有联想和形象的网状信息,要求多媒体创作平台能够设 计从一个媒体对象激活一个动作或跳转到另一个相关的媒体对象,以实现对象间 的超媒体链接。 动画能力 虽然,有专门的动画制作软件,但由它们制作一般开销大,有时只需一些简 单的屏幕动作就能起到醒目的效果,若创作平台自身带有一些基本的动画效果, 对创作者来说是最欢迎不过了,这样可随时添加或改变媒体动作效果,不必化麻 烦去另行制作动画。 外部接口能力 有时某个创作平台很难兼具一些特殊用户所需的所有性能特点,这时如果创 作平台与别的创作平台有接口,能够把外部的应用程序与用户创作的节目进行连 接,如外部数据库等,或能由一个多媒体应用程序激活另一个应用程序,以实现 不同程序间的关连调用,则这样的创作平台就具有较强的外部接口能力,自身某 些功能不足很容易弥补,用户就容易选择它作为刨作平台。 编程环境 编程环境是指多种媒体信息流的控制能力( 如循环、条件分支、数字计算、 逻辑操作等) ,即对各种媒体信息的编程、时间、控制、调试、动态输入输出等方 面的操作能力,良好的编程环境意味着创作用户能够较方便地按照制作脚本定义 的媒体层次结构、呈现方式、位置次序、时间速度和画面交换形式将各种媒体散 件集成为一个播放系统,该播放系统能具有用户所需的网状信息结构和方便用户 使用的控制流。 打包能力 能够形成独立的应用程序,使用户创作的多媒体产品可以脱离编译环境而独 立安装运行于象w i n d o w s 这样的支持多媒体的操作系统之下,减小对平台的依赖 性,便于多媒体产品的使用和推广。 四、多媒体开发工具的分类、特点及适用场合 江苏理工大学计算机应用技术专业硕士论文 第3 页 兰鉴堡生旦堡壁堑垄堑塑堕婴塞兰塞堕j 受二望坠 多媒体创作工具依照组织或安排数据的方式可以分为下列四类: l以卡或页为基础的多媒体创作工具 大多数以卡或页为基础的编辑系统,都是提供一种可以将对象连接于卡或页 上面的工作环境,一页或一张卡便是数据结构中的一个节点,而且这些数据大多 是用图标来表达的。这类编辑系统是以面向对象的方式来处理多媒体元素,这些 元素用属性来定义,用剧本来规范,而事件则以消息来贯通各层次之间的对象。 这类编辑软件包括超卡( h y p e r c a r d ) 及多媒体工具书( m u l t i m e d i at o o i b o o k ) 等。超卡为c h a r i s 公司所出版,用来制作电脑辅助教学软件,宣传短片,多媒体 数据库等节目。多媒体工具书“以书为运行单位”确定了用t o o l b o o k 开发多媒体 应用程序的基调,即比较适合作百科全书型的多媒体应用软件。但使用t o o l b o o k 开发的系统最大的不足就是整体运行的速度太慢。 2 以图标为基础,基于事件的多媒体创作工具 以图标为基础的编辑软件提供以视觉为主的程序环境。在设计之初必须先用 其他软件来制作各种元素,然后在此系统中建立一个流程图,在流程图中可以包 括起始事件、分支、处理及结束等各种图标。设计者可依流程图将适当的对象从 所谓的图标库中按下拉至到工作区内。这些图标可以包括菜单条的选项,图形图 像,声音及运算等。这个流程图,也是事件安排的次序,同时也表示整个节目的 逻辑蓝图。此类软件包括“编辑软件”( a u t h o r w a r e ) 、“图标编辑”( i c o n a u t h o r ) 等。通常流程图像式的多媒体编辑工具大都用于需要较高交互性的教育训练系统。 当前的多媒体教学软件中,很大一部分就是用a u t h o r w a r e 制作的。 3 以时间为基础的多媒体创作工具 以时间为基础的多媒体软件是最常见的多媒体编辑系统,所制作的节目象电 影片及卡通电影,它们大多数是以看得见的时间行列来决定事件的顺序与对象的 演示段。在这类编辑系统中都会有一个控制播出的控制面板,与录音机、录像机 相似。这类软件包括行动( k c t i o n ! ) 与编导( 埘d i r e c t o r ) 等。a c t i o dj 是由 m a c r o m e d i a 公司所发行,可在p c 窗口与m a c i n t o s h 下运行的多媒体编辑工具。这 是一套支持多媒体声效与动画文件的简报绘图软件。适用于制作商业说明或幻灯 片。编导d i r e c t o r 也是由m a c r o m e d i a 公司所发行在m a c i n t o s h 上执行的多媒体 编辑工具,拥有许多特殊功能用以生成多媒体的文本、动画及交互系统。d i r e c t o r 适合制作演示型的多媒体应用软件。 4 多媒体程序设计语言 功能强大和设计灵活是程序设计语言的主要优势。使用程序设计语言,可以 编写出具有独特界面控制和功能的应用程序。v b 是一种模块化的面向对象的编程 语言,非常适合于多媒体应用程序的开发。它综合了w i n d o w s 的用户图形环境及 b a s i c 程序语言简单、好用的优点,是目前w i n d o w s 环境下开发多媒体应用程序的 江苏理工大学计算机应用技术专业硕士论文第4 页 玺燮堡查旦堡空墅茎堑堕塑塑塞复塞堕塑二皇j ! ! 堇_ 最佳选择之一。v b 能够调用各种多媒体素材,利用多种方法、事件、属性等来控 制对象及其链接关系,通过程序实现对各个对象的精确控制;通过w i n d o w s 动态 连接库或定制控件的形式可以与任何系统相关联。v b 提供了多种控件,用户可以 直接调用它们来创建各种媒体对象;还有许多第三厂商和个人为v b 编写各种控件, 使得v b 有很强的可扩展性。v b 不但简化了可视化编程的方法,而且使得应用程序 的开发流程更加流畅,功能也更强大。v i s u a lc + + 是m i c r o s o f t 公司推t 洲j x - - 个在w i n d 。w s 环境下的多媒体程序设计语言。它与v b 类似,只是它的语言结构是 由c _ + 所扩展出来的。v i s u a tc + + 的工具包括有视觉工作台( v i s u a t w o r k b e n c h ) 、 应用工作室( a p p s t u d i o ) ,应用巫师( a p p w i z a r d ) 、c l a s s 巫师( c l a s s w i z a r d ) 等模块。设计v i s u a lc + + 应用程序的方法是先利用v i s u a lw o r k b e n c h 及a p p s t u d i o 来产生或编辑新的资源,接着利用c l a s s w i z a r d 来产生c l a s s 。最后将这些资源在 c 1 a s s w i z a r d 中组织起来,通过b u ii d 来完成构造一套新的应用节目或是多媒体节 目。常用的其它多媒体程序设计语言还有d e l p h i 、b o r l a n d 甜十b u i l d e r 等。 无论哪种多媒体创作工具,它必须担当起可视化编程的责任,必须具有概念 清楚、界面简洁、操作简单、功能伸缩性强等特点。初始的多媒体创作工具都有 自己擅长制作的节目类型,如有的擅长制作电子书,有的擅长制作简报系统,有 的擅长制作c a i ,有的擅长制作数据库查询系统等等。但从目前发展来看,节目的 表现范畴越来越广泛,表现手法越来越灵活,最终用户的功能要求越来越复杂, 那些系统提供的功能远远不能应付日益复杂的节目设计需要。而v b 能通过访问 w i n 3 2a p i 而被方便地扩展,从而使其隐藏了w i n d o w s 多媒体编程的难点,同时 又提供了使用w i n d o w s 环境的灵活性。它使程序员们不再过多地考虑程序的界面, 而是把精力集中在如何解决问题的实质性部分,这样大大提高了编程的效率。使 用v b 来制作多媒体系统,在方法上可以说融合了描述性语言及图像式编辑工具的 优点,在开发效率上,并不亚于上述任何一种编辑工具,因此,许多开发人员都 乐意把v b 作为r a d ( r a p i da p p l i c a t i o nd e v e l o p m e n t ) 开发的首选系统。另外, 目前已有许多第三方厂家的支持产品,包括图像、语音、音乐等,使得用v b 来开 发多媒体系统几乎没有功能上的限制。其实,v b 自身许多功能的完成实际上就是 对w i n 3 2a p i 函数的调用,没有对w i n 3 2a p i 的深入理解和在实际编程中的灵活 应用,要编写出高质量的代码和应用程序是不可能的。v b 和w i n 3 2a p l 的紧密 结合是开发一切多媒体应用程序的有效途径。 本文以v b 为基础,对多媒体应用程序的集成开发环境进行了深入地分析和研 究,并重点对w i n 3 2a p 在该开发环境中所起的作用进行了深入探讨和实践,用 w i n 3 2 a p i 函数弥补了v b 本身在多媒体开发中存在许多不足之处,增强了v b 的多 媒体程序开发功能。 江苏理工大学计算机应用技术专业硕士论文第5 页 查燮笪窒旦矍壁墅垄墅塑堕婴壅皇壅堕 箜三重型堕! ! 竺! 墨塑差堕童堡堡互垄堕墅! ! 查 第二章 w i n 3 2a p i 及相关的多媒体开发的新技术 1 v b 不足之处及w i n 3 2a p i 对v b 的扩充 出于v b 在开发上的高效和快捷而成为编写多媒体应用程序最常采用的语言之 一。然而,v b 有一些尚未直接支持的领域,如:声音支持、i o 端口地址以及许 多位图运算都不是v b 软件包的集成部分。但它们能从w i n 3 2a p i 中得到弥补。又 如:利用v b 自身的功能,很难实现添加字体、删除字体和创建字体的功能,但w i n 3 2 a p i 提供了这些功能。利用a p i 函数还能实现v b 无法做到的使一行字符倾斜,以 及旋转字体的功能。虽然在v b 中提供了一些绘图的方法,如l i n e 、c i r c l e 、p s e t 等,但a p i 函数提供的绘图函数可以实现更强大的功能。利用v b 支持的a p i 函数, 配合其他的一些函数,完全可以实现像w i n d o w s 的“附件”画图那样的程序, 甚至可以做得更好。另外,利用v b 提供的功能和函数,只能绘制基本图形,而借 助于a p i ,就能实现绘图环境的定制。同时,v b 自身提供的图像处理功能是有限 的,w i n 3 2a p i 提供了丰富的功能强大的a p i 图像处理函数。由此可见,为了弥补 v b 在程序效率和功能上的一些不足,引用a p i 已成必然,一句话,“v b 没有 的功能,可以调用w i n d o w sa p l 解决”。另一方面,单纯使用a p i 编 程是十分困难的事,这样两者互取其长,就能最有效地完成所需要的 多媒体功能。 2 w i n 3 2a p i 的功能与分类 w i n 3 2a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 也就是m i c r o s o f tw i n d o w s 3 2 位平台的应用程序编程接口。 图2w i n 3 2a p i 在w i n d o w s 程序设计发展的初期,w i n d o w s 程序员的主要编程工具就是a p i 江苏理工大学计算机应用技术专业硕士论文 第6 页 兰塑堡堕旦堡壁墅茎堑堕盟竺窒皇塞些 笙三童塑! 丝尘型堕翌塑里型茎堡互堡笪塑! 塑生 函数,这些函数是w i n d o w s 提供给应用程序与操作系统的接口,他们犹如“积木 块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为a p i 函数是构筑整个w 3 n d o w s 框架的基石,在它的下面是w i n d o w s 的操作系统核心, 而它的上面则是所有的华丽的w i n d o w s 应用程序。( 图2 ) 但是,那时的w i n d o w s 程序开发还是比较复杂的工作,程序员必须熟记一大 堆常用的a p i 函数,而且还得对w i n d o w s 操作系统有深入的了解。然而随着软件 技术的不断发展,在w i n d o w s 平台上出现了一些优秀的可视化编程环境( 如v b , v c 程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能 强大的应用程序。 在视化编程环境下,操作简单、界面友好,并提供了大量的类库和各种控件, 它们隐藏了a p i 的神秘功能,事实上这些类库和控件都是构架在w i n 3 2a p i 函数 基础之上的,是封装了的a p i 函数的集合。它们把常用的a p i 函数组合在一起成 为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了w i n d o w s 应用 程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体 功能的设计上,而不必过于关注技术细节。 实际上,如果要用v b 开发出更灵活、实用、高效率的应用程序,必然要使 用a p i 函数,虽然类库和控件使应用程序的开发简单得多,但它们只提供w i n d o w s 的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是难以实现的, 这时就需要直接采用a p i 函数来实现。 按照通常的划分标准,w i n 3 2a p i 函数分为七大类: 窗口管理类:这类a p i 函数向应用程序提供了一些创建和管理用户界面 的方法,可以使用它们来设计程序的界面。 窗口通用控制类:系统s h e l l 提供了一些控制,使用这些控制可以使窗 口具有与众不同的外观,通用控制是由通用控制库c o m c t l 3 2 d l l 提供的。 s h e l l 特性类:应用程序可以使用它们来增强系统s h e l l 各方面的功能。 图形设备接口( g d i ) :提供绘图、图形处理、使用显示设备等一系列的 a p i 函数。 系统服务类:为计算机提供了访问计算机资源以及底层操作的手段。 国际特性类:有助于编写国际化的应用程序,提供u n i c o d e 字符集和多 语种支持。 网络服务类:允许网络上不同计算机之间的不同应用程序之间进行通讯, 用于在各计算机上创建和管理共享资源的连接。 3 w i n 3 2a p i 的声明和调用方法 江苏理工大学计算机应用技术专业硕士论文 第7 页 童竖堡窒旦堡堡堑蕉堑堕鳖堕壅复窒堕 受三童_ ! 坐墼尘型堡塑薹堕兰竖堡翌垄塑堑i ! 至 w i n 3 2a p i 函数不是v b 的内部函数,使用之前必须用d e c i a r e 语句显式声 明。d e c l a r e 语句形式如下: f p u b l i cp r i v a t e ) d e c l a r e f u n c t i o n s u b ) c a j l o a # el i bd l l _ f 7 j e n a m e a i i a sa i i a sn a m e ( a r f f u l n e n t _ i s t ) a sd a t a _ t y p e 在v b 中声明a p i 函数有两种方法:如果只在某个窗体中使用a p i 函数,可 以在窗体代码的g e n e r a l 部分声明它: 声明的语法是: p r i r a t ed e c l a r ef u n c t i o n p r i v a t ed e c l a r es u b 这里必须采用p r i v a t e 声明,因为这 个a p i 函数只能被一个窗体内的程序所调 用。 要在多个窗体中使用同个a p i 函数, 就需要在模块中声明了。 先添加一个模块( 如图3 所示) ,然后 采用如下语法声明: p u b l i cd e c l a r ef u n c t i o n p u b l i ed e c l a r es u b 图3 添加模块工具栏 p u b l i e 声明的含义是把a p i 函数作为一个公共函数或过程,在一个工程中 的任何位置( 包括所有的窗体和模块) 都能直接调用它。声明完毕就能在程序 中使用此a p i 函数了。 可采用以下几种方式使用a p i 函数,以s e t w i n d o w p o s 函数为例: ( i ) 忽略函数返回值的调用: s e t w i n d o w p o sf o r m l h w n d ,一2 ,0 ,0 ,0 ,0 ,3 此时函数的参数是不加括号的。 ( 2 ) c a l l 方法调用: c a l ls e t w i n d o w p o s ( f o r m l h w n d , 2 ,0 ,0 ,0 ,3 ) 这里需要加上括号,但不取回函数的返回值。 ( 3 ) 取得函数返回值的调用: m y l n g = s e t w i n d o w p o s ( f o r m l h w n d ,一2 ,0 ,0 ,0 ,3 ) 此时需要加上括号,而且必须事先定义一个变量( 变量的类型与函数返回值 类型相同) 来存储a p i 函数的返回值。 几个问题的说明: ( i ) 声明中的l i b 和a 1 i a s 江苏理工大学计算机应用技术专业硕士论文 第8 页 墨塑堡查旦堡壁茎垄堑堕塑堑塞皇壅堕 塑三童! 虫! 兰塑l 堡塑茎堕兰塑堡互垄苎塑i ! 查 一般情况下w i n 3 2 a p i 函数总是包含在w i n d o w s 系统自带的或是其它公司提 供的动态连接库d l l 中,而d e c l a r e 语句中的l i b 关键字就用来指定d l l ( 动态 连接库) 文件的路径,这样v b 才能找到这个d l l 文件,然后才能使用其中的a p i 函数。如果只是列出d l l 文件名而不指出其完整的路径的话,v b 会自动到e x e 文件所在目录、当前工作目录、w i n d o w s s y s t e m 目录、w i n d o w s 目录下搜寻这个 d l l 文件。所以如果所要使用d l l 文件不在上述几个目录下的话,应该指明其完 整路径。 a 1 i a s 用于指定a p i 函数的别名,如果调用的a p i 函数要使用字符串( 参数 中包含s t r i n g 型) 的话,a 1 i a s 关键字是必须的。这是因为在a n s i 和u n i c o d e 字符集中同一a p i 函数的名称可能是不一样的,为了保证不出现声明错误,使用 a 1i a s 关键字指出a p i 函数的别名,一般来说在w i n 9 x 平台下把a p i 函数名后加 一个大写a 作为别名即可。 ( 2 ) 常见的a p i 参数类型的说明 a p i 函数的参数中最常见的是长整l o n g 型数据类型,例如a p i 中的句柄、 一些特定的常量、函数的返回值都是此类型的值;另外几种常见的参数类型有: 整型i n t e g e r 、b y t e 型、s t r i n g 型等。 ( 3 ) 声明中的b y v a l 的作用 这跟v b 的参数传递方式有关,在默认情况下v b 是通过地址传递方式传递函 数的参数、而有些a p i 函数要求必须采用传值方式来传递函数参数( 这两种参数 传递方式是不同的,前者传递的是一个指针,而后者要求是参数真实的值) 。这 样就会发生错误,解决的办法是在a p i 函数参数声明的前面加上b y v a l 关键字, 这样v b 就采用传值方式传递参数了。 ( 4 ) 怎样得到完整的a p i 函数声明 v b 自带了a p i 文本查看器a p it e x tv i e w e r ,可以在其中找到a p i 函数的完 整声明,然后把它粘贴到程序中即可。 a p i 本身并非固定不变的,有可能有些功能在以后的版本中修改了或不再支 持了,所以应尽可能的使用常用的a p i 函数,尽量少用或不用未公开的函数。 二、控件 1 控件在多媒体程序设计中的作用 在多媒体程序设计中,控件用来获取用户的输入信息和显示输出信息。应用 程序中可用的控件包括文本框、命令按钮和列表框。而通过另外一些控件可访问 其它应用程序并处理数据,使得远程应用程序就好象是代码的一部分。a c t i v e x 控件是个提供特定功能的二进制对象,利用第三方提供的a c t i v e x 控件能缩 江苏理工大学计算机应用技术专业硕士论文 第9 页 兰堡堡堕旦堡壁墅垄堡捶堕堑窒量塞堕丝三皇塑堕生竺! 丝塑耋堕兰堡壁互垄盟! ! 垫生 短开发周期,提高编程效率,使得开发出的多媒体更专业。现有的控件往往不能 满足多媒体程序设计中的特定要求,用户只有自行定义a c t i v e x 控件。a c t i v e x 控件是v b 工具箱的扩充部分,使用a c t i v e x 控件的方法与使用标准内装的控件 完全一样。在程序中加入a c t i v e x 控件后,它将成为开发和运行环境的一部分, 并为应用程序提供新的功能。 2 v b 控件分类 内部控件,例如c o m m a n d b u t t o n 和f r a m e 控件。这些控件都在v b 的e x e 文 件中。内部控件总是出现在工具箱中,不象a c t i v e x 控件和可插入对象那样可 以添加到工具箱中,或从工具箱中删除。 a c t i v e x 控件,是扩展名为o c x 的独立文件,其中包括各种版本v b 提供 的控件( d a t a c o m b o ,d a t a l i s t 控件等等) 和仅在专业版和企业版中提供的控件 ( 例如l i s t v i e w 、t o o l b a r 、a n i m a t i o n 和t a b b e d d i a l o g ) ,另外还有许多第三 方提供的a c t i v e x 控件。 可插入的对象,例如一个包含公司所有雇员的列表的m i c r o s o f te x c e l 工作 表对象,或者一个包含某工程计划信息的m i c r o s o f tp r o j e c t 日历对象。因为 这些对象能添加到工具箱中,所以可把它们当作控件使用。其中一些对象还支持 自动化( 正式的名称为o l e 自动化) ,使用这种控件就可在v b 应用程序中编程 控制另一个应用程序的对象。 3 标准控件及其使用 v b 中附有许多具有特定功能的控件( c o n t r o l l e r ) ,而每个控件都可以创造 具有特定用途及功能的对象。要利用v b 进行多媒体程序设计,必须熟悉和掌握 这些控件的作用和功能。在v b 中,大部分的控件均放在工具箱中,每个控件由 工具箱中的一个工具图标来表示。 工具箱中的工具分为两类,一类是v b 本身固有的,一类是扩充的。由固有 的工具组成的工具箱称为标准工具箱,工具箱可以扩充,以便把更多的工具包含 进来。为在工具箱中增加一个扩展控件,必须装入相应的控件支持文件,其文件 江苏理工大学计算机应用技术专业硕士论文 第1 0 页 查燮堡鏖旦堡壁互垄堑望盟盟窒兰壅堕 苎三皇j 翌堂三垒堕堡查堕型坐型型堑至垄堕堑i ! 查 的扩展名为o c x 。当某个扩展控件增加后,该文件的名字就出现在项目窗口中。 项目窗口中的o c x 文件只与扩展控件相对应,标准控件没有与之对应的o c x 文 件。 v b 中的标准控件包括图片框控件( p i c t u r e b o x ) 、标签控件( l a b e l ) 、文本 框控件( t e x t b o x ) 、框架控件( f r a m e ) 、命令按钮控件( c o m m a n d b u t t o n ) 、复选 框控件( c h e c k b o x ) 、选项按钮控件( o p t i o n b u t t o n ) 、组合框控件( c o m b o b o x ) 、 列表框控件( l i s t b o x ) 等 指针工具( 工具箱中的第一个工具) 不是控件,可用来移动窗体和控件,并 调整它们的大小。 4 m u l t i m e d i am c i 控件 m c i ( m u l t i m e d i ac o n t r o li n t e r f a c e ) 是微软w i n d o w s 定义的多媒体接口标 准,在多媒体扩展中m m s y s t e m 模块内的m c i 接口是控制多媒体设备的高级命令 接口,包括了c d a u d i o ( 激光唱机) 、s c a n n e r ( 图像扫描仪) 、v c r ( 磁带录像机) 、 v jd e o d i s c ( 激光视盘机) 、d a t ( 数字化磁带音频播放机) 、d i g i t a l v i d e e ( 窗口中 的数字视频) 、o v e r l a y ( 窗口中的模拟视频叠加设备) 、m m m o v i e ( 多媒体影片演播 器) 、s e q u e n c e r ( m i d i 音序设备) 、w a v e a u d i o ( 波形音频设备) 、o t h e r ( 未定义的 m c i 设备) 等多媒体的主要产品,支持环境是w i n d o w s 。m c i 的最大优点是应用系 统与设备的无关性,对于标准多媒体设备,安装相应的w i n d o w s 的m c id r i v e r , w i n d o w s 即可对该设备进行操作访问;对于非标准的多媒体设备,只要有厂家提 供所配的m c id r i v e r 也一样可以操作。由于m c i 与设备的无关性,程序员在多 媒体应用系统的开发中,无需了解每种产品细节,就能开发出通用的多媒体应用 系统。m c i 的功能原理如图所示: 发送m c i 命令 调用 驱动、控制 图5m c i 功能原理 在v b 中通过n d c o n t r o l 控件提供的功能来实现对m c i 使用。m m c o n t r o 】控 江苏理工大学计算机应用技术专业硕士论文 第1 l 页 兰坚笪壁旦堡壁堑垄墅堕盟旦窒皇壅堕! 兰皇j 塑堕生竺! 些塑差堕鱼竖堡互堡塑翌i i i 查 件管理m c i 设备上的多媒体文件的记录与回放,m c i 能在单个窗体中支持多个 m m c o n t r o l 控件实例,这样就可以同时控制多台m c i 设备。每台m c i 设备需要一 个n l c o n t r o l 控件。 m m c o n t r o l 控件是v b 中进行多媒体程序设计的重要部件。利用l 帅t c o n t r o l 控件可实现声音、动画a y i 、m i d i 音乐和c d 播放等多媒体控制。在缺省情况下, m m c o n t r o l 不出现在工具箱上,可以通过以下途径添加:在“工程”菜单中选择 “部件”项,在弹出的“部件”对话框中选择m i c r o s o f tm u l t i m e d i ac o n t r o l 6 0 。m m c o i l t r o l 控件的显示形式如图: 图6 删c o n t r o l 控件的显不 m m c o n t r o l 控制按钮定义如下:p r e y ( 向前) 、n e x t ( 向后) 、p l a y ( 播放) 、 p a u s e ( 暂停) 、b a c k ( 倒移) 、s t e p ( 前移) 、s t o p ( 停播) 、r e c o r d ( 录制) 和e j e c t ( 退 出) 。使用m m c o n t r o l 控件方法如下: ( i ) m c i 控件在设计或运行时可以是可见或隐藏的;其按钮功能也可以通过单击 鼠标c 1i c k 事件重新定义。 ( 2 ) 需要使用m c i 按钮功能时,必须将该按钮的属性( v i s i b l e 和e n a b l e d ) 置为 t r u e ;若不需要该按钮时,必须设计v i s i b l e 为f a l s e ;若使该按钮功能当前 无效时,设计v i s i b l e 为t r u e ,e n a b l e d 为f a l s e 。应用程序使用或不使用用户 交互,都可以用m c i 设备进行控制。 ( 3 ) m c i 扩充版支持一个视窗控制多个m c i 设备。 在绝大多数情况下,这些按钮的缺省功能已足以管理m c i 设备。然而, n c o n t r o l 控件还包含一些运行时属性,允许增加值或重定义按钮命令。其中 n o t i f y 、n o t i f y m e s s a g e 和n o t i f y v a l u e 属性返回m m c o n t r o l 控制命令的执行结果, 提供了有价值的反馈信息,表明某个命令出错或完成。o r i e n t a t i o n 属性用于设置 n d c o n t r o l 控件中的按钮排列方向。a u t o e n a b l e 属性决定系统是否自动检测各按 钮的状态。p l a y e n a b l e 、p l a y v i s i b l e 属性决定m m c o n t r o l 控件上p l a y 按钮的有效 状态、可见状态。c o n t r o l 控件上的s t o p 、r e c o r d 、p a u s e 也有类似的属性。 c o m m a n d 属性可以设置1 3 个值,用来执行不同的m c i 控制命令:b a c k ( 后退 一个画面) 、c l o s e ( 关闭多媒体设备) 、e j e c t ( 退出多媒体设备) 、n e x t ( 到下 个磁道的起始点) 、p a u s e ( 暂停播放) 、p l a y ( 播放) 、p r e y ( 向前) 、r e c o r d ( 记 录) 、s a v e ( 保存) 、s e e k ( 查找指定的位置) 、s t e p ( 前进一个画面) 、s t o p ( 停 止播放或记录的动作) 、s o l d ( 播放声音) 。d e v i c e t y p e 属性用于设置多媒体设 备的类型,不同的多媒体设备有不同的d e v i c e t y p e ,而且每一种d e v i c e t y p e 都 有唯一的名称。f i l e n a m e 属性用于设置多媒体设备中打开或者存储的文件名。 江苏理工大学计算机应用技术专业硕士论文 第1 2 页 垒堡堡鏖旦堡壁墅垄堡些盟盟窒皇窒堕 箜三童_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论