Authorware课件开发中的API函数调用

来源 :中国教育信息化·基础教育 | 被引量 : 0次 | 上传用户:freegfly
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   摘 要:本文探讨了在Authorware多媒体课件开发中,如何调用Windows API 函数的方法。并结合声卡检测具体实例来说明。最后给出了相关的注意问题。
   关键词:Authorware;课件;API函数
   中图分类号: G 434文献标识码: B文章编号:1673-8454(2008)06-0051-02
  
   目前,用于制作课件的主要工具Authorware的最新版本为Authorware7.0,但是,在Authorware中有很多复杂的功能都很难实现。如检测声卡和调节分辨率等。通常人们借助于开发第三方的UCD函数来解决这些问题。但是,这些UCD函数通常需要购买,或者附加一定条件的试用,从而给广大的课件制作者带来不便。这里我们介绍如何在Authorware(以Authorware7.0为例)中调用Windows系统的API(应用程序接口)函数来方便和自由地实现一些功能。
  
   一、Windows API 与 Authorware
  
  API是指“应用程序编程接口”,即Application Programming Interface的缩写。它是Windows 内部的极其重要的组成部分,是Windows提供给程序员的一些用C语言编写并由操作系统自身调用的一系列函数,Windows的API主要是一系列复杂的函数、消息的集合。它可以看作是Windows系统为在其下运行的各种开发系统提供的开放式通用功能增强接口,是对高级语言功能的最重要的扩充。几乎所有用高级语言的标准功能不能处理的问题都可以用调用API接口函数的方法来解决。尤其在一些直接和硬件交互的低级操作中,调用API接口的函数往往是唯一可行的办法。因此,调用API接口并结合多线程的编程技术,已成为Windows环境下最流行的一种高级技术。在Authorware中调用这些Windows操作系统函数可以实现许多Authorware中本身无法实现的任务。
  Windows的API函数由许多“动态链接库”组成,在Windows系统中,核心的Windows API DLL有以下这些:
  gdi32.dll 图形显示界面的API。
  kernel32.dll 处理低级任务(比如内存和任务管理)的API。
   user32.dll 处理窗口和消息的API。
   另外,还有对于我们多媒体课件开发尤为重要的:winmm.dll 处理多媒体任务的API。
  还不断有新的API出现来处理新的操作系统扩展,比如连接网络和新的外部设备等。一个DLL文件实质上就是一个函数库,如果需要调用某个函数,首先要搞清楚该函数所在的DLL,然后连接该库,再调用该函数。在Authorware中可以利用动态链接库直接使用Windows API函数库。在调用一个DLL函数之前,必须了解该函数的调用协议,主要包括函数的名称,参数的数目和类型以及返回值类型等。况且因为Windows API函数不是Authorware内部函数,所以在在调用这些函数之前必须要先载入,并加以声明。下面以一个实例来说明这个过程。
  
  二、声卡检测
  
  对于在Windows平台中开发多媒体课件来说,声音是一个非常重要的因素,特别是对于一些主要靠声音来传递教学信息的课件。这样就必须要求用户当前的机器上要安装有声卡(及其驱动程序)。如果普通用户在使用课件时,没有声音传出,这样使得学习者不知道问题出在哪儿,这样无疑会增加普通用户操作上的负担和困难,从而降低了软件的友好性和易用性。因此,我们可以在课件开始运行之前,调用一个函数来检测声卡及其驱动程序。如果检测不到声卡及其驱动,则提示用户,并强行退出。具体过程如下:
  
  打开Authorware,新建一个文件,保存为“检测声卡程序.a7p”。
  单击工具栏上的“functions window”按钮,弹出“Functions”窗口。
  在“Functions”窗口中,单击Category栏最下方的“检测声卡程序.a7p”一项,这时“Functions”窗口下方的“load”按钮由灰色变成黑色,表明可以加载函数了。
  单击“Functions”窗口下方的“load”按钮,弹出“load function”对话框,我们找到Windows系统目录(对于Windows98/95是“System”,对于Windows NT/XP 是“System32”),并选择系统目录下的Winmm.dll文件(如图1所示),单击“打开”按钮。
  弹出“Windows API 函数装载设置”对话框,在“Function Name”中输入想要调用的DLL函数名,这里输入检测声卡播放WAV的函数“waveOutGetNumDevs”,在 “Arguments”中输入函数的参数类型为“Void”,在“Return”中输入返回值的类型“long”,也可以选择在“Description”输入关于函数的描述(如图2所示)。单击“load”按钮,此时,在窗口的下方出现“Successfully loaded waveOutGetNumDevs() ”提示信息。
  单击“Done”按钮,完成函数的加载,在随后弹出的“load function”对话框中,单击“取消”按钮表示不再继续加载函数。函数waveOutGetNumDevs()就出现在了Authorware中的Functions窗口中了。
   下面是要使用这个函数来检测声卡是否支持WAV文件的播放。
  在课件主流程线,拖放一个计算图标,命名为“声卡检测”;
  打开“声卡检测”计算图标,在其中输入如下简短程序
  result:= waveOutGetNumDevs()
  if result<=0 then
   quit()
  end if
  保存关闭计算图标。
  把这个“声卡检测”计算图标放到你的课件最开始部分,这样当系统声卡存在时,便能继续执行课件程序而不影响你的课件,但当系统不存在声卡,或声卡工作不正常时,就会自动退出课件。
  
  三、注意的问题
  
  1.参数转换规则
  在Authorware调用API函数需要注意的时,Authorware和一般的高级编译语言或Windows所使用的数据类型不一致,需要进行参数类型的转换。Authorware里参数有VIOD、CHAR、BYTE、SHORT、WORD、LONG、DWORD、FLOAT、DOUBLE、POINTER 以及STRING等类型,于是在调用DLL函数时必须按一定的规则进行参数类型转换。表1列出了常用的类型及其转换规则。这个转换规则也适用于其它高级语言参数类型与Authorware之间的转换。
  关于Authorware DLL调用中的返回类型转换与表中基本类似,不同之处是STRING类型返回值代表的是一串以“\0”结尾的字符串句柄。
  2.正确填写函数调用各项值
  要注意正确地填写函数的参数的类型及个数和函数的返回值类型。如果在调用中,输入了错误的参数类型,而并不给出错误的提示,并且在对话框下仍提示正确,但是不能正确地载入Authorware中或不能正确地使用。如果不能确定的话,请参阅Windows SDK 等相关技术开发文档。
  3.注意函数名的书写问题
  要注意区分函数名的大小写问题。
  要注意正确地书写函数的名称。在API中函数是ChangeDisplay
  Settings的形式,但是在Authorware 32位的版本中要输入为“ChangeDisplaySettingsA”或者是“ Change DisplaySettingsW”。
  
  参考文献:
  [1]袁海东.《深入Authorware 7.0编程》[M],北京:电子工业出版社,2004.
其他文献
一、2007年中国教育信息化创新与发展论坛隆重召开    2007年6月16日-18日由教育部教育管理信息中心主办,中国教育信息化杂志社承办的“中国教育信息化创新与发展论坛暨中国教育信息化理事会年会”在北京召开。教育部原副部长、中国高教学会会长周远清,教育部部长助理郭向远等领导出席会议并作了重要讲话。此次大会贯彻、落实了教育部关于教育信息化工作的有关精神,积极研讨我国教育信息化的发展与创新,总结、
春天是绿色的季节,是优雅的季节,是新生的季节。俗话说“三月三,荠菜当灵丹”,人们对荠菜的评价多高啊!  农历三月初,正是采野生荠菜的好季节。荠菜长在路边和田野里,山坡上也能看到。荠菜的根是白色的;茎直立,单一或在基部分枝;叶羽状,分裂,不整齐,顶片特大;叶片有毛,叶耙有翼。  荠菜的食用方法多种多样,可烫、炒、凉拌、蒸,也可以用来做荠菜鱼卷、荠菜冬笋等。无论哪种吃法,都能品尝到荠菜独特的清香。今天
笨 蛋  一商人乘出租车外出。汽车在盘山公路上突然打滑,司机吓得大叫:“刹车不灵,怎么办?”商人冲他大喊:“快关上计价器,你这个笨蛋!”  差一点儿  小明:“妈妈,今天我差一点儿就见着爸爸了!”  妈妈:“见着就见着了,怎么是差一点儿呢?”  小明:“爸爸的车牌号是16888,而我见着的那个是16887。”  日行一善  儿子:“老师说‘要日行一善’,我今天做到了!”  妈妈:“很好啊!说来听听
我的祖国,地大物博,  广袤的大地上有五千年的文化在闪烁!  她,像一头威风凛凛的狮子,  她,像一条叱咤风云的神龙,  我爱你,祖国!  我爱你闻名世界的山川——  喜马拉雅是你的脊背;  长江黄河是你的血脉;  天山昆仑是你的披肩;  日月潭是你的掌上明珠,金光灿灿!  我爱你风情各异的城市——  富饶的天府之国,不仅仅有熊猫和火锅;  繁華的东方明珠,永远为你闪烁;  还有那历史悠久的首都,
摘 要:Google Earth是专业RS与GIS技术走向大众化的代表,其操作简便、地理信息丰富,不仅可为开发其它地理多媒体教学平台提供丰富的素材,而且本身也可以作为地理多媒体的展示平台,把众多资源素材有效集成到虚拟地球上。本文设计了基于Google Earth地理多媒体教学平台的框架,并以实例给出了其实现过程。研究结果表明,与传统的地理教学多媒体平台相比,Google Earth具有显著的地理特
  
山西省原平市位于黄土高原,是晋西北中部的一个县级市,距离省城太原100公里,人口48万,是具有城乡结合特点的小城市。原平市实验初级中学始建于1979年,早期是市重点中学,20世纪90年代被列为山西省示范初中。学校占地面积50亩,现有教职工150人,学生2100人。多年来,学校秉承“崇尚卓越、追求一流”的办学目标,本着“教育信息化引领学校创新,为学校发展服务”的基本理念,不断推进学校教育信息化进程。
古人云:诚是为人之本,信乃立身之道。誠信是金,诚信是一切道德赖以维系的前提,诚信是一切成功和渴望成功的人们必须具备的道德品质,诚信是文明社会的基石。  3月8日这天,老师给我们布置了一项特殊的作业——放学后,用自己的方式祝福妈妈节日快乐。  我心想,送给妈妈一件什么礼物好呢?发夹,皮筋,还是化妆盒?对了,可以送一朵鲜花呀!可是,我的储蓄罐早就空空如也了……思考了半天,我依旧没有头绪。  丁零零,放
教育是百年大计,关系到国家的未来。正是看到高科技在教育中发挥的强大力量,惠普多年来一直通过各种方式积极支持中国教育事业。“惠普希望电脑教室”正是惠普和宝洁基于对公益事业的关注而达成的首次合作,也是希望工程有史以来第一次由两大跨行业企业联手提供援助。   访题:请您简单介绍一下“惠普希望电脑教室”项目的目的,以及目前建立的数量和投资额度,“惠普希望电脑教室”都配备了哪些设备?为完成该项目,惠普需要完
摘 要:通过了解目前教学中数字化资源建设及应用的现状,分析目前数字化教学资源存在的不足,提出“一课、二上、三论坛、四开发”的数字化资源建设模式。本文详细阐述了此模式内容,希望利用集体智慧开发教学资源,打造数字化资源共同体。  关键词:数字化;资源共同体;资源建设  中图分类号:G434 文献标识码:B 文章编号:1673-8454(2009)08-0083-02    一、概述    当今数字化教