《校园多媒体技术应用.doc》由会员分享,可在线阅读,更多相关《校园多媒体技术应用.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 章 综述1.1 项目背景Author ware 7.0发布已经有一段日子了,不知爱好 Author ware 的朋友是否知道其中有则鲜为人知的技巧,在制作多媒体课件、多媒体光盘、多媒体游戏时可以为我们带来无比的方便,减少了繁琐的步骤,节省了时间,提高了效率!把任意一个图标拖到流程线上,为其命名,设置其属性(图片的插入图片,声音的插入声音,视频的插入视频,等待的设置时间或者显示属性.),然后重新拖回图标栏,当再次拖相应图标到流程线时,除了位置外,新的图标继承了原来设置好的图标的所有属性,把程序关闭然后再打开程序,这种继承性也没有改变,同时这个技巧对大部分的图标都适用。Author war
2、e操作简单,程序流程明了,开发效率高,并且能够结合其他多种开发工具,共同实现多媒体的功能。它易学易用,不需大量编程,使得不具有编程能力的用户也能创作出一些高水平的多媒体作品,对于非专业开发人员和专业开发人员都是一个很好的选择。1.1.1 Author ware 7.0的强大功能一、交互响应分支的建立Author ware 7.0的所有交互响应都需要通过交互图标来设置实现,因此我们首先来学习一下建立一交互响应分支结构的步骤。1首先从图标工具栏上拖动一交互图标放置到流程线上合适位置。2仅仅交互图标本身并不能提供交互响应功能,必须为交互图标创建响应分支。接着我们以建立一按钮响应交互分支为例来说明响应
3、分支的创建过程。随便拖动一群组图标到流程线上交互图标的右侧,因为是第一次建立响应分支,因此程序会自动弹出一个响应类型对话框(如图1所示),在响应类型对话框中显示了Author ware的交互图标所支持的11种响应类型,每一种响应类型都用不同的图标按钮表示;可以通过单击它们对应的复选框来选择相应的响应类型。我们选择默认的Button按钮响应类型,按OK确定后即完成按钮交互响应分支的建立工作。建立交互分支后,可以按快捷键Ctrl+E调出响应属性对话框,根据实际需求对响应分支的交互返回类型、响应属性等进行具体设置。因此最简单的交互响应分支结构应该包括交互图标、响应分支,这其中将涉及到交互的响应类型、
4、分支返回类型等概念。图 1二、在Author ware中压缩WAV声音文件在Author ware中经常要使用WAV格式的声音文件,这种文件格式的主要优点是通用性好,但是这种文件尺寸太大,如果在设计多媒体时,将所有的声音采用这种格式存储,仅声音数据就有可能占上百兆存储空间。我们可以通过一些方法对WAV格式的声音文件进行压缩,来达到我们的要求。1. 单声道文件如果WAV格式文件是一个单声道声音文件,可以利用Author ware提供的一个声音文件压缩工具Voxware Encoder来压缩。它是一种支持处理单声道WAV文件转换为VOX格式的声音文件软件。当声音文件转换成VOX格式之后,文件尺寸大
5、大减小,而且文件通用性也很好。在“开始”菜单中启动Voxware Encoder(如图)。在Voxware Encoder程序的主窗口的上半部分中显示出了将要进行转换的WAV格式声音文件列表。可以将多个声音文件直接拖放到文件列表,也可以单击“”按钮选择一个WAV格式的声音文件。在对声音文件压缩之前,可以点击“Compression Code”命令按钮,其中有两种压缩编码方式,可以任选择一种。在主窗口的中间部分用于WAV和VOX格式相互转换,“Compress”命令按钮用于将WAV格式的声音文件压缩为VOX格式的声音文件,当文件转换完成后,可以按下“Play”按钮试听转换后的效果。Voxware
6、 Encoder的压缩率相当高,可以将一个1.85MB的文件压缩得到只有12KB的VOX文件。使用Voxware Encoder压缩包含有人声(朗读、唱歌等)的VOX格式的声音文件声效果较好,声音基本上能保持原样。2. 双声道文件对于双声道的WAV格式的文件压缩,用Voxware Encoder处理比较困难。解决的方法是先把双声道转换成单声道,然后用Voxware Encoder压缩成VOX格式文件。用Flash软件转化是一种比较好的方法,只要在时间控制栏里插入跟声音相符的帧数,然后把双声道的声音文件引入Flash里,最后导出为*.wav格式的文件,在对话框里选择一种合适的单声道(Mono)压
7、缩编码方式即可。1.2 校园多媒体技术的发展概况随着计算机的逐步普及,多媒体技术应用于日常的教学工作当中,那不可避免的多媒体课件随之而诞生。多媒体课件的简洁易懂,也越来越成为老师们的新宠儿,同学们的新爱。在重多的多媒体软件当中,Author ware 又是当中的贵族,它的简洁的设计,通俗易懂的设计方法,在其它同类软件当中拖引而出。第 2 章 系统分析2.1 需求分析2.1.1 功能要求要做到课件的流畅,简洁,对数据结构的相关知识要掌握准确。2.1.2 用户需求用户提出了以下的要求:l 美观、友好的可视化操作界面l 具备良好的可移植性l 能够满足今后的升级需要l 通俗易懂2.1.3 需求分析根据
8、客户的需求,我们决定用Author ware进行制作原因如下:(1)面向对象的可视化编程。这是Author ware区别于其他软件的一大特色,它提供直观的图标流程控制界面,利用对各种图标逻辑结构的布局,来实现整个应用系统的制作。它一改传统的编程方式,采用鼠标对图标的拖放来替代复杂的编程语言。(2)丰富的人机交互方式。提供11种内置的用户交互和响应方式及相关的函数、变量。人机交互是评估课件优劣的重要尺度。(3)丰富的媒体素材的使用方法。Author ware具有一定的绘图功能,能方便地编辑各种图形,能多样化地处理文字。Author ware为多媒体作品制作提供了集成环境,能直接使用其他软件制作的
9、文字、图形、图像、声音和数字电影等多媒体信息。对多媒体素材文件的保存采用三种方式,即:保存在Author ware内部文件中;保存在库文件中;保存在外部文件中,以链接或直接调用的方式使用,还可以按指定的URL地址进行访问。(4)强大的数据处理能力。 利用系统提供的丰富的函数和变量来实现对用户的响应,允许用户自己定义变量和函数。2.2 可行性分析2.2.1 技术可行性分析 (1) 硬件可行性分析执行课件需要一定的硬件基础,其硬件要求如表21:服务器客户端操作系统Windows2000/XPWindows98/NT/2000/XP处理器133MHz以上90MHz以上内存128MB以上32MB以上硬
10、盘空间80MB以上表21 硬件要求2.2.2 时间可行性分析本次毕业设计共九周时间,第一、二两周进行调查和熟悉软件环境,第三、四两周学习Author ware语言完成总体设计方案, 第五、六、七、八共四周系统的实现安装与调试,第九周完成论文、准备答辩。根据本系统的既定目标、功能、和特点,在规定的时间内可以完成系统开发。第 3 章 概要设计3.1 系统目标对于一个系统,前期地总体设计是非常重要的。没有一个结构合理地根基,是不可能建造出雄伟的大厦的。前面已经对课件做了各种的分析,可以让同学达到对知识更好的理解和学习的目的。以下就将加以设计上的说明。3.2 总体设计明确了系统目标,下面就将功能分配给
11、系统元素。主架第三章第一章图1总体框架第六章 (1) 主架:以此为蓝本对课件进行设计。(2) 第一章:对知识的一个基本的概括。(3) 第三章:关于栈和队列相关知识的介绍。(4) 第六章:对树的相关知识的讲解。第 4 章 详细设计一、Eval与EvalAssign函数的应用 精通Author ware的开发应用,从某种程度上说取决于是否熟悉掌握运用函数和变量。可是,在众多的Author ware系统函数中,你是否挖掘过Eval和EvalAssign这两个系统函数呢?下面我们就一起来见识一下Eval和EvalAssign这一对兄弟函数的“绝活”吧。Eval和EvalAssign这两个系统函数的功能
12、十分相似,只是用法存在差异而已,因此我们称它们为“兄弟函数”。Eval的表达式如下:result := Eval(expression, decimal, separator)Eval函数的功能是计算表达式expression的值,并将该值赋给result,在该函数的expression表达式中,不能包含赋值操作符“:=”。Eval的“兄弟函数”EvalAssign的表达式如下:result := EvalAssign(expression , decimal, separator)EvalAssign函数的功能同Eval相似,计算表达式expression的值,并将该值赋给result,在该
13、函数的expression表达式中,可以包含赋值操作符“:=”。由此可见,和Eval函数相比,EvalAssign的参数中可以带赋值号“:=”,即它的参数可以是一个赋值语句,而Eval函数则不行。下面我们简单介绍一下Eval函数与EvalAssign函数的具体用法。(一)Eval的简单用法图1.1 Eval简单用法范例 这里我们引用一个范例来说明Eval的简单用法。我们要实现一个简单的计算:提示用户输入一个代数表达式,然后计算出并得出该表达式的值。程序流程图如上图1.1,开始的计算图标是设置演示屏幕的大小,接下来的显示图标“输入提示”提示用户输入一个代数表达式,文本输入交互“*”可接受用户的任
14、意一个字符串输入,然后求值。在这个范例的核心问题就是:用文本交互接受的用户输入“EntryText”是一个字符串,然后怎样将该字符串转化为一个代数表达式,并求出其值?通过Eval函数,我们可以很容易的解决这个问题,如图1.2和图1.3所示,计算图标的表达式如下:statment:=EntryText=Eval(EntryText)这里求出的用户自定义变量statement是一个字符串,有三部分组成:用户输入的原字符串、“=”符号、结果值,三部分是通过连接符号“”连接起来的。至于显示图标“显示结果”,只是实现显示变量字符串statement的功能,可直接用文本工具写上statement即可。例如
15、:用户输入“4+8”回车,屏幕将显示最后结果“4+8=12”,如图1.4所示。通过这个小小的范例是不是从中得到一点关于Eval函数用法的启示?(二)EvalAssign的简单用法在上文中我们提到和Eval函数相比,EvalAssign函数的参数参数中可以带赋值号“:=”,具体怎么运用呢?在程序设计中我们往往需要把图标对象动态的改变其移动属性,开始所有的对象都是可移动的,在程序的某个特定时刻,我们需要把对象变为不可移动,如何实现?假设我们所有的对象都命名为“contentX”,其中X为序号,这样的命名将有利于我们程序的控制。我们知道,要“固定”一个对象并不难,在程序中可以这样写:Movablec
16、ontentX:=FALSE这样就可“固定”序号为X的某个对象,可是如果我们要控制十个,几十个,甚至几百个对象呢,难道我们还用上面的方法一个一个的写程序?用EvalAssign函数可以很简单地解决这个问题,我们只要写上一个程序段就可以实现对所有对象的“固定”,即不可移动属性了:EvalAssign(movablecontentnumber:=FALSE)其中number是变量,通过对number的取值,就可以达到对各个对象的控制,因此运用EvalAssign函数的关键就是归纳或设计出一个能代表全部元素的通用变量表示式,上面所阐述的原理Eval函数也是通用的。为了加深认识,我们来看一个简单应用的
17、实例,下图1.5为其流程图。它实现一个简单功能:只用一个按钮操作就可顺序切换到框架中的各个分支。图1.5 EvalAssign简单用法范例首先建立如图1.5的流程图,在“Start”计算图标里写入如下公式代码:ResizeWindow(320,180) -设置演示屏幕大小i:=1 -给自定义变量I赋值repeat with k:=1 to 5 -循环设置pic系列显示图标为不可移动EvalAssign(movablepick:=FALSE)end repeat根据图1.5的流程图,我们可以知道范例中的关键是把框架中的显示图标命名为一系列有规律的名称:“pic1”、“pic2”.“pic5”,然
18、后利用EvalAssign系统函数编写通用的代码,按钮响应交互(设置为永久交互)的计算分支“Goto Icon”代码如下:if i=5 theni:=0end ifi:=i+1EvalAssign(goto(iconidpici)其中变量“i”为自定义变量,通过它的动态改变而实现循环的切换到框架的各个分支。在程序的开头我们还要对变量“i”赋初值:i:=1,这样可以确保从框架的第一个分支开始进行循环切换。最后运行的效果如下图1.6所示,只要不断的按“Goto Icon”按钮,按钮下面的数字图片,即代表各个分支的图片就会顺序的循环切换。第 5 章 系统的实现经过第2、3章周密的理论研究,第4章具体
19、详实的设计方案,主要技术的综合运用的过程研究,课件也如愿以偿的制作完成了。本章就将具体展示课件的实现的结果。5.1 主页的实现 在制作课件的过程中我运用了大量的交互。利用Author ware进行多媒体程序设计过程中,交互显得十分重要。合理灵活地利用交互项,实现程序内容的灵活控制,这实际上是多媒体开发制作最基本要求:及时反馈、自由控制。在Author ware中交互项有如图2.1所示有四种交互返回类型:Exit、Continue、Return和Try Again,程序流程默认情况下是最后一种Try Again类型。我们在程序设计中应该注意它们的区别,合理地控制程序的流程方向。我们可以在不打开交
20、互项的属性对话框的情况下,通过按住Ctrl键,鼠标左键单击交互项的出口位置,改变该交互项的返回类型,这是常用的一种快捷方法。“Try Again”交互返回类型是最常用的一种交互。在制作课件中背景音乐也是必不可少的。 Author ware 5.6支持的声音文件格式有一些限制,只有WAV、AIFF、PCM和SWA扩展后缀名的文件才可直接导入到Author ware程序中,尽管Author ware 6.0开始支持MP3格式声音文件的播放和插入,但还是不支持MIDI文件的直接使用。我们知道MIDI文件使用的是数字乐器,换句话说MIDI文件并没有真正地记录了音频信息,而是象乐谱一样记录了各种乐器的和
21、声和音高节奏,具体的演奏任务由声卡所带的数字乐器完成。MIDI音乐有着体积信息小的特点,而且不会与WAV声音通道冲突,因此在进行多媒体开发时经常用来做背景音乐,但Author ware并不直接提供对MIDI声音文件格式的支持,怎么办呢?别急,Author ware提供了外部函数的接口可以解决这个问题:利用第三方的UCD外部函数,我们可以实现对MIDI声音文件的支持。在这里我们要实现的目的是让MIDI背景音乐循环的播放,具体思路是通过导入Author ware的外部函数MidiLoop.U32相关的两个扩展函数,实现对MIDI背景音乐的循环播放。在介绍范例前我们简单介绍一下MidiLoop.U3
22、2的相关扩展函数:Result:=LoopMidi(File)这个函数的功能是对程序指定的MIDI音乐进行循环播放,直到用户中止为止。其中参数File就是用户自行指定的外部MIDI文件,当然,这里指定的MIDI声音文件并没有导入程序内部,只是存在一种相当于链接的关系。Result:=StopMidi()这个函数的功能是停止当前正在播放的MIDI音乐。参数为VOID型。在“Stop Midi”按钮响应交互计算图标里输入代码:stop:=1StopMidi()在“Replay Midi”按钮响应交互计算图标里输入代码:if stop=1 thenLoopMidi(FileLocationmidi.
23、mid)stop:=0end if在“Exit”按钮响应交互计算图标里输入代码:StopMidi() -停止MIDI背景音乐播放Quit() -退出程序第 6 章 系统测试6.1 测试方法测试是为了发现程序中的错误。在本系统中,除了代码编写上可能发生错误外,由于网站的特性,还可能存在数据库连接、超级链接、路径设置上的错误而使网站无法正常工作或网页无法正常浏览。考虑到可能发生的以上这些错误,本系统采用白盒测试法进行测试。白盒测试的原则是:保证模块中每一独立的路径至少执行一次;保证所有判断的每一分支至少执行一次;保证每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。白盒测试包括有基本路径测试和控制结构测试两种测试技术。控制测试又分条件测试法和循环测试法。基本路径测试的主要思想是根据系统过程性描述中的控制流程确定复杂性度量,然后用此度量定义基本路径集合。控制测试主要是考虑程序中的条件判断和循环的有效性。