您的当前位置:首页正文

校园多媒体技术应用

2024-07-16 来源:年旅网



1 Forpersonal use only in study and research; not for commercialuse

2

3.1

项目背景

3

综述

Authorware 7.0发布已经有一段日子了,不知爱好Authorware的朋友是否知道其中有则鲜为人知的技巧,在制作多媒体课件、多媒体光盘、多媒体游戏时可以为我们带来无比的方便,减少了繁琐的步骤,节省了时间,提高了效率!把任意一个图标拖到流程线上,为其命名,设置其属性(图片的插入图片,声音的插入声音,视频的插入视频,等待的设置时间或者显示属性...),然后重新拖回图标栏,当再次拖相应图标到流程线时,除了位置外,新的图标继承了原来设置好的图标的所有属性,把程序关闭然后再打开程序,这种继

Author ware操作简单,程序流程明了,开发效率高,并且能够结合其他多种开发工具,共
承性也没有改变,同时这个技巧对大部分的图标都适用。

3.1.1 Author ware 7.0 的强大功能
一、交互响应分支的建立

Authorware 7.0的所有交互响应都需要通过交互图标来设置实现,因此我们首先来学习一下建立一交互响应分支结构的步骤。

1.首先从图标工具栏上拖动一交互图标放置到流程线上合适位置。

2.仅仅交互图标本身并不能提供交互响应功能,必须为交互图标创建响应分支。接着我们以建立一按钮响应交互分支为例来说明响应分支的创建过程。

随便拖动一群组图标到流程线上交互图标的右侧,因为是第一次建立响应分支,因此程序会自动弹出一个响应类型对话框(如图1所示),在响应类型对话框中显示了Authorware "交互图标"所支持的11种响应类型,每一种响应类型都用不同的图标按钮表示;可以通过单击它们对应的复选框来选择相应的响应类型。我们选择默认的"Button"按钮响应类型,按"OK"确定后即完成按钮交互响应分支的建立工作。建立交互分支后,可以按快捷键Ctrl+E调出响应属性对话框,根据实际需求对响应分支的交互返回类型、响应属性等进行
具体设置。




因此最简单的交互响应分支结构应该包括交互图标、响应分支,这其中将涉及到交互的响应类型、分支返回类型等概念。

1

Author ware 中经常要使用WAV格式的声音文件,这种文件格式的主要优点是通用性好,但是这种文二、在Authorware 中压缩WAV 声音文件

1.单声道文件

如果WAV格式文件是一个单声道声音文件,可以利用Authorware提供的一个声音文件压缩工具VoxwareEncoder来压缩。它是一种支持处理单声道WAV文件转换为VOX格式的声音文件软件。当声音文件转换成VOX格式之后,文件尺寸大大减小,而且文件通用性也很好。

在“开始”菜单中启动VoxwareEncoder(如图)。在VoxwareEncoder 程序的主窗口的上半部分中显示出了将要进行转换的WAV格式声音文件列表。可以将多个声音文件直接拖放到文件列表,也可以单击“…”按钮选择一个WAV格式的声音文件。在对声音文件压缩之前,可以点击“CompressionCode”命令按钮,其中有两种压缩编码方式,可以任选择一种。在主窗口的中间部分用于WAVVOX 格式相互转换,
“Compress”命令按钮用于将WAV格式的声音文件压缩为VOX格式的声音文件,当文件转换完成后,可以按下“Play”按钮试



听转换后的效果。VoxwareEncoder的压缩率相当高,可以将一个1.85MB的文件压缩得到只有12KBVOX

文件。使用VoxwareEncoder压缩包含有人声(朗读、唱歌等)的VOX格式的声音文件声效果较好,声音基

本上能保持原样。

2.双声道文件

对于双声道的WAV格式的文件压缩,用VoxwareEncoder处理比较困难。解决的方法是先把双声道转换

成单声道,然后用VoxwareEncoder压缩成VOX格式文件。

Flash软件转化是一种比较好的方法,只要在时间控制栏里插入跟声音相符的帧数,然后把双声道的

声音文件引入Flash里,最后导出为*.wav格式的文件,在对话框里选择一种合适的单声道(Mono)压缩编

码方式即可。

3.2 校园多媒体技术的发展概况

随着计算机的逐步普及,多媒体技术应用于日常的教学工作当中,那不可避免的多媒体课

件随之而诞生。多媒体课件的简洁易懂,也越来越成为老师们的新宠儿,同学们的新爱。在重

多的多媒体软件当中,Authorware 又是当中的贵族,它的简洁的设计,通俗易懂的设计方法,

在其它同类软件当中拖引而出。

4.1 需求分析

4.1.1 功能要求

要做到课件的流畅,简洁,对数据结构的相关知识要掌握准确。

4.1.2 用户需求

用户提出了以下的要求:

4.1.3

美观、友好的可视化操作界面


具备良好的可移植性

能够满足今后的升级需要

通俗易懂

需求分析





根据客户的需求,我们决定用Authorware 进行制作原因如下:1)面向对象的可视化编程。

这是Authorware区别于其他软件的一大特色,它提供直观的图标流程控制界面,利用对各种图标逻辑结构的布局,来实现整个应用系统的制作。它一改传统的编程方式,采用鼠标对图标的拖放来替代复杂的编程语言。

2)丰富的人机交互方式。

提供11种内置的用户交互和响应方式及相关的函数、变量。人机交互是评估课件优劣的重要尺度。

3)丰富的媒体素材的使用方法。

Authorware具有一定的绘图功能,能方便地编辑各种图形,能多样化地处理文字。

Authorware为多媒体作品制作提供了集成环境,能直接使用其他软件制作的文字、图形、图像、声音和数字电影等多媒体信息。对多媒体素材文件的保存采用三种方式,即:保存在Authorware内部文件中;保存在库文件中;保存在外部文件中,以链接或直接调用的方式使用,还可以按指定的URL地址进行访问。

4)强大的数据处理能力。利用系统提供的丰富的函数和变量来实现对用户的响应,允许用户自己定义变量和函数。

4.2 可行性分析
4.2.1 技术可行性分析
(1)硬件可行性分析


2—1硬件要求

4.2.2 时间可行性分析
本次毕业设计共九周时间,第一、二两周进行调查和熟悉软件环境,第三、四两周学习 Authorware语言完成总体设计方案,第五、六、七、八共四周系统的实现安装与调试,第九 周完成论文、准备答辩。根据本系统的既定目标、功能、和特点,在规定的时间内可以完成

系统开发。

5

概要设计






5.1 系统目标

对于一个系统,前期地总体设计是非常重要的。没有一个结构合理地根基,

是不可能建造出雄伟的大厦的。前面已经对课件做了各种的分析,可以让同学

达到对知识更好的理解和学习的目的。以下就将加以设计上的说明。

5.2 总体设计

明确了系统目标,下面就将功能分配给系统元素。

主架

1总体框架

(1)主架:以此为蓝本对课件进行设计。

(2)第一章:对知识的一个基本的概括。

(3)第三章:关于栈和队列相关知识的介绍。

6 章详细设计(4)第六章:对树的相关知识的讲解。


可是,在众多的Authorware系统函数中,你是否挖掘过EvalEvalAssign这两个系统函数

呢?下面我们就一起来见识一下EvalEvalAssign这一对兄弟函数的绝活吧。

EvalEvalAssign这两个系统函数的功能十分相似,只是用法存在差异而已,因此我

们称它们为兄弟函数

Eval的表达式如下:

result:= Eval("expression"[, "decimal", "separator"])

Eval函数的功能是计算表达式expression的值,并将该值赋给result,在该函数的

expression表达式中,不能包含赋值操作符:=”

Eval兄弟函数EvalAssign的表达式如下:

result := EvalAssign("expression" [, "decimal", "separator"])



EvalAssign 函数的功能同Eval 相似,计算表达式expression 的值,并将该值赋给result



在该函数的expression表达式中,可以包含赋值操作符:=”

由此可见,和Eval函数相比,EvalAssign的参数中可以带赋值号:=”,即它的参数可以是一个赋值语句,而Eval函数则不行。下面我们简单介绍一下Eval函数与EvalAssign函数的具体用法。

(一)Eval的简单用法

1.1Eval简单用法范例

户输入一个代数表达式,然后计算出并得出该表达式的值。程序流程图如上图1.1,开始的计算图标是设置演示屏幕的大小,这里我们引用一个范例来说明Eval的简单用法。我们要实现一个简单的计算:提示用接下来的显示图标“输入提示”提示用户输入一个代数表达

题就是

statment:=EntryText^"="^Eval(EntryText)
这里求出的用户自定义变量statement是一个字符串,有三部分组成:用户输入的原字符串、=”符号、结果值,三部分是通过连接符号^”连接起来的。至于显示图标显示结果,只是实现显示变量字符串statement的功能,可直接用文本工具写上{statement}即可。例如:用户输入4+8”回车,屏幕将显示最后结果4+8=12”,如图1.4所示。通过这个小小的范例是不是从中得到一点关于Eval函数用法的启示?

(二)EvalAssign的简单用法

在上文中我们提到和Eval函数相比,EvalAssign函数的参数参数中可以带赋值号:=”,具体怎么运用呢?在程序设计中我们往往需要把图标对象动态的改变其移动属性,开始所有

的对象都是可移动的,在程序的某个特定时刻,我们需要把对象变为不可移动,如何实现?假设我们所有的对象都命名为“contentX”,其中X为序号,这样的命名将有利于我们程序的控制。我们知道,要“固定”一个对象并不难,在程序中可以这样写:



Movable@"contentX":=FALSE

这样就可固定序号为X的某个对象,可是如果我们要控制十个,几十个,甚至几百个对象呢,难道我们还用上面的方法一个一个的写程序?用EvalAssign函数可以很简单地解决这个问题,我们只要写上一个程序段就可以实现对所有对象的固定,即不可移动属性了:

EvalAssign("movable@\"content"^number^"\":=FALSE")
其中number是变量,通过对number的取值,就可以达到对各个对象的控制,因此运用EvalAssign函数的关键就是归纳或设计出一个能代表全部元素的通用变量表示式,上面所阐述的原理Eval函数也是通用的。为了加深认识,我们来看一个简单应用的实例,下图1.5为其流程图。它实现一个简单功能:只用一个按钮操作就可顺序切换到框架中的各个分支。



首先建立如图1.5的流程图,在Start”计算图标里写入如下公式代码:

ResizeWindow(320,180)----设置演示屏幕大小

i:=1----给自定义变量I赋值

repeatwith k:=1 to 5 ----循环设置pic系列显示图标为不可移动EvalAssign("movable@\"pic"^k^"\":=FALSE")

endrepeat

根据图1.5的流程图,我们可以知道范例中的关键是把框架中的显示图标命名为一系列有规律的名称:“pic1”、“pic2”….“pic5”,然后利用EvalAssign系统函数编写通用的代码, 按钮响应交互(设置为永久交互)的计算分支“GotoIcon”代码如下:

if i=5 then



i:=0

endif

i:=i+1

EvalAssign("goto(iconid@\"pic"^i^"\")")

其中变量i”为自定义变量,通过它的动态改变而实现循环的切换到框架的各个分支。

在程序的开头我们还要对变量i”赋初值:i:=1,这样可以确保从框架的第一个分支开始进行

循环切换。最后运行的效果如下图1.6所示,只要不断的按GotoIcon”按钮,按钮下面的数

字图片,即代表各个分支的图片就会顺序的循环切换。

7 系统的实现
经过第23章周密的理论研究,第4章具体详实的设计方案,主要技术

的综合运用的过程研究,课件也如愿以偿的制作完成了。本章就将具体展示课

7.1 主页的实现 件的实现的结果。

所示有四种交互返回类型:ExitContinueReturnTry Again,程序流程默认情况下是最

后一种TryAgain类型。我们在程序设计中应该注意它们的区别,合理地控制程序的流程方

向。

我们可以在不打开交互项的属性对话框的情况下,通过按住Ctrl键,鼠标左键单击交互

项的出口位置,改变该交互项的返回类型,这是常用的一种快捷方法。“TryAgain”交互返回



类型是最常用的一种交互。

在制作课件中背景音乐也是必不可少的。

Authorware 5.6支持的声音文件格式有一些限制,只有WAVAIFFPCMSWA扩展后缀名的文件才可直接导入到Authorware程序中,尽管Authorware 6.0开始支持MP3格式声音文件的播放和插入,但还是不支持MIDI文件的直接使用。我们知道MIDI文件使用的是数字乐器,换句话说MIDI文件并没有真正地记录了音频信息,而是象乐谱一样记录了各种乐器的和声和音高节奏,具体的演奏任务由声卡所带的数字乐器完成。MIDI音乐有着而且不会与WAV声音通道冲突,因此在进行多媒体开发时经常用来做体积信息小的特点,背景音乐,但Authorware并不直接提供对MIDI声音文件格式的支持,怎么办呢?别急,Authorware提供了外部函数的接口可以解决这个问题:利用第三方的UCD外部函数,我们可以实现对MIDI声音文件的支持。在这里我们要实现的目的是让MIDI背景音乐循环的播具体思路是通过导入Authorware的外部函数MidiLoop.U32相关的两个扩展函数,实现放,对MIDI背景音乐的循环播放。

在介绍范例前我们简单介绍一下MidiLoop.U32的相关扩展函数:
这个函数的功能是对程序指定的MIDI音乐进行循环播放,直到用户中止为止。其中参
File就是用户自行指定的外部MIDI文件,当然,这里指定的MIDI声音文件并没有导入
程序内部,只是存在一种相当于链接的关系。

Result:=StopMidi()

这个函数的功能是停止当前正在播放的MIDI音乐。参数为VOID型。在StopMidi”按钮响应交互计算图标里输入代码:

stop:=1

StopMidi()






ReplayMidi”按钮响应交互计算图标里输入代码:

ifstop=1 then

LoopMidi(FileLocation^"midi.mid")

stop:=0

endif

Exit”按钮响应交互计算图标里输入代码:

StopMidi() ------停止MIDI 背景音乐播放

8.1 测试方法

测试是为了发现程序中的错误。在本系统中,除了代码编写上可能发生错误外,由于网站的特性,还可能存在数据库连接、超级链接、路径设置上的错误而使网站无法正常工作或网页无法正常浏览。考虑到可能发生的以上这些错误,本系统采用白盒测试法进行测试。

白盒测试的原则是:保证模块中每一独立的路径至少执行一次;保证所有判断的每一分支至少执行一次;保证每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。白盒测试包括有基本路径测试和控制结构测试两种测试技术。控制测试又分条件测试法和循环测试法。基本路径测试的主要思想是根据系统过程性描述中的控制流程确定复杂性度量,然后用此度量定义基本路径集合。控制测试主要是考虑程序中的条件判断和循环



的有效性。







以下无正文

仅供个人用于学习、研究;不得用于商业用途。

Forpersonal use only in study and research; not for commercial use.

仅供个人用于学习、研究;不得用于商业用途。

Nurfür den persönlichen für Studien, Forschung, zu kommerziellenZwecken verwendet werden.

Pourl 'étude et la recherche uniquement à des fins personnelles; pas àdes fins commerciales.

仅供个人用于学习、研究;不得用于商业用途。

толькодля людей, которые используются дляобучения, исследований и не должныиспользоваться

в коммерческих целях.




显示全文