??利用函数来控制声音wav文件
??多媒体里最耀眼的是动画,那么最动听的应该是声音了。如果一个页面离开背景音乐或者课件的页面离开讲解,那么这个页面就失去了多媒体的意义。
??在制作教学课件的时候,素材除一些文本、图片、用3d做的动画外,还需要配以讲解,来模拟教室在课堂上的讲课效果。
??在我们的制作过程中,开始用的是录音大师软件来录音、编辑声音;现在在使用的是大家熟悉的Soundforge声音处理软件,效果很不错的,功能也很多。
??下面我们先来看看多媒体里常用到的声音格式wav的控制。利用函数来控制wav文件.
一:Aw6声音文件wav最基本的播放和停止 ????
????????????
1. 在authorware6里建立一个新的文件为:声音控制1
2.从流程线上拖一个计算图标设定窗口的大小为: ResizeWindow(320,240)
3从流程线上拖一个声音图标起名为:歌曲(双击该图标导入声音文件歌曲.wav)
?
4在歌曲右侧同步放上一个群组图标,起名为动画页面(打开此图标,在流程线上放入图片,文 ?字、运动等等)
?通过上面4个步骤的操作,一个有歌曲(讲解)、图片、和歌词(文本)的页面已经好。
?在听的过程中,可能想停下来声音wav(歌曲、讲解或者是背景音乐)文件,好我们来看?下面的操作。
5.从流程线上拖一个交互图标起名为:声音控制,在其右侧分别放两个计算图标,起名为:?播放和停止。
6.打开计算图标播放,在里面写入如此下函数表达式:MediaPlay(IconID@"歌曲")
?打开计算图标停止,在里面写入如此下函数表达式:MediaPause(IconID@"歌曲",TRUE) ?见图1、图2。
??
图1、
图2
上面的函数也可以写成下面的表达式:
播放:playsound:=TRUE;停止:playsound:=FALSE,如下图的图1-1和图2-1:
图1-1
图2-1
7.整个声音控制的流程图如下面的图3所示: ?
?图3
8.点击一下运行控制面板上的播放来测试一下效果。运行页面如图4所示
?图4
点击按钮播放,能听到歌曲,点击停止歌曲会停下来,在点击播放,歌曲又从头开始播放。
开始制作课件时就是采用这种方法,可是在讲解的过程中,停下来以后,再让其播放,又重新从头开始,非常的烦。我们希望它停下来后,接着原来的进行播放,即有一个暂停的功能。
二:Aw6声音文件wav增加暂停功能
?????
1. 在上面流程线的基础上,拖一个计算图标,起名为:继续:
??函数表达式为:MediaPause(IconID@"歌曲",FALSE)
图5
2. 运行看一下结果如图所示画面:日图6所示
图6
?点击播放:从头开始
?点击停止:声音停止
?点击继续:从停止的地方继续播放下面的声音,而不是从头开始。
?这样我们上面的问题就解决了:) 这是上面的停止实际上是暂停。
3. 将流程图上的停止按钮改为:暂停。流程图如图7所示
??????上面的播放、暂停、继续三个按钮的状态很不明确。我们希望点击暂停后,其按钮失效,也就是按钮处于不可点击的状态,看看该如何实现呢?
三:Aw6声音文件wav按钮失效和有效的控制????????
????????????
1. 先看一下播放按钮的失效和有效控制:【实现的途径:点击播放按钮的相应标签??>
??Respose->在active If里输入:~MediaPlaying@"歌曲",其它选项见图8的步骤1、2、??3、4】
??从图8我们还看到播放图标的流程线发生了变化,主要是步骤4由原来的try again变为??Return。
??图8
2. 暂停按钮的失效和有效控制:类似1,设置暂停按钮见图9的1、2、3、4步骤。
???图9
??点击ok后会出现"New Variable"对话框,
??设置:pause:=0暂停按钮有效 ;pause:=1继续按钮有效
??在流程线上双击暂停按钮计算图标,在上面的基础上加入一行:pause=1,使得暂停按??钮失效,如图10所示。
??图10
3. 继续按钮的失效和有效控制:继续按钮的设置见图11的1、2、3、4步骤,然后打开
??继续计算图标添加:pause:=0
?图11
4.通过上面的操作可以测试一下,我们看到状态播放按钮的状态发生了改变如图12
图12
四:Aw6声音文件wav暂停和继续两个按钮合并????????
????????????
现在界面上的按钮背景多,我们将暂停和继续合并在一起.
看下面的流程图和停、继续计算图标里的函数表达式。图13
图13
五:Aw6声音文件wav播放和停止在界面上只出现一个控制按钮
????????
????????????
???有的多媒体界面上有很多的按钮比如:上一页、下一页、最后一页、首页、退出、返?回首页,声音播放,声音停止等,显得页面上很乱。
?因此在声音设计时,我们可以尽量减少按钮的个数,使的界面清晰。
?现在我们要实现的功能是:声音正在播放,按一下声音按钮,按钮变化成另外一个按钮,声音停止;再按一下新的按钮,声音又重新播放,界面上出现原来的按钮图标。在四的基础上修改步骤如下:
1. 在交互按钮声音控制上面插入一个图标声音动画.gif。
(运动的),(这样在开始的界面上就有一个声音动画,表示界面上有声音)图14
2. 交互控制的响应标签改为热区,下面的计算图标改为群组图标。见图14中的1区
3.先来看看控制关闭群组图标的内容:见图14中的2区
?①擦除图标:擦除原来界面上的声音动画.gif;
?②放上静止的音乐.jpg,把它放入控制关闭热区内(在设计状态下才能看到,操作Ctrl+??P)
??点击此音乐.jpg图片,执行下面的计算图标③;
?③停止正在播放的声音wav歌曲
??所以图14的2区是一个静止的图片,没有声音,点击图片跳转到图14的3区,播放声音???wav。
4??再来看看图14中的3区控制开关群组图标的内容
?①擦除图标:擦除2区的静止的音乐.jpg;
?②运动的动画gif和主流程线上的动画gif是同一个动画;
??把它放入控制开关热区内
?③播放声音wav;
??所以图14的3区是一个运动的图片,正在播放声音wav,点击运动图片跳转到图14的2区?,停止播放声音wav。
5.运行一下,看看效果:如图15
六:Aw6声音文件wav播放和停止只用一个按钮来控制
????????
???????????
??? 上面五中我们谈到的是在界面上只出现一个按钮,实际上是两个按钮不停地在转换
??并且在不同的位置。
??下面我们来实现:只用一个按钮在同一个位置上通过点击互换来控制声音wav的播放和??停止。
??我们结合图16来讲解。
1. 控制关闭和控制开关的热区是重叠在一起的。
2. 把声音动画1放入上面的控制重叠热区,如图16的⑥
3. 计算图标④的函数如⑦所示;
4. 计算图标⑤的函数如⑧所示;
5. 控制交互响应②、③里增加了热区失效功能(关于热区失效和按钮失效原理是一样的这 ??里就不在详述)
6. ②和③的失效函数表达式见图17、图18;
????图17
????图18
七:尾声
??通过上面的学习,大家已经掌握了用函数来控制声音wav的播放和停止等。当然也可以用插件DMX来实现声音WAV的控制。
??大家在用Authorware6制作多媒体课件的时候会遇到这样的问题:在一个界面里放入两个声音,一个做讲解,另一个做背景音乐;而Authorware6本身是不支持双声道wav声音的,当然可以用插件来实现。问题是声音文件wav本身占用的空间比较大。
??因此最好是用wav做讲解,midi音乐做背景,而声音midi格式容量小,这样效果比较好,课间容量也不会太大。