编者按:利用Flash技术制作动态十足的多媒体,越来越多地成为了网络设计师的首选。但是由于缺少对Flash音频方面的制作经验,以及对音频处理方面缺少了解,所以闪客往往在制作音频方面感到发怵,一个动态的效果,由于没有音乐的辅助,显得那么苍白,如果音乐和动画不相符,那更将令多媒体失去原有的魅力。
在开篇的时候我先教大家制作一个音乐的控制台。包括一个音乐开关,声道均衡和一个音量控制。
首先,你已经制作好了四个按纽和二个表示控制台底座的图样(

):
将两个控制条的按钮放置在各自的movie chip里,在音量控制条的movie chip里用鼠标右键单击此按钮,在按钮下加入action如下:
on(press) {
startDrag(“”,true,this._x,top,this._x,bottom);
ss = true;
}
on(release,releaseOutside) {
this.stopDrag();
ss = false;
}
意思是当鼠标单击时此控制条为可以上下拖动的组件,拖动的范围是top和buttom变量。当鼠标松开时,停止拖动,同时变量ss为假。如果现在你还不明白,没关系,跟着我继续做。
同理,在均衡器的movie chip里输入如下代码:
on(press){
startDrag(“”,true,left,this._y,right,this._y);
ss = true;
}
on(release,releaseOutside){
this.stopDrag();
ss=false;
}
然后我们将均衡器放到底座的movie里,把音量控制器放到音量控制台的movie chip里,注意要放置到正中央。
在音量控制的movie chip里鼠标右键单击音量控制器,输入如下代码:
onClipEvent(load){
top = this._y-200;
bottom = this._y;
}
onClipEvent(enterFrame){
if(ss){
_root.mysound.setvolume(this._y/2);
}
}
在这里我们设置组件拖动的上边界为它的y坐标加200,下边界为y坐标,用y坐标的准确位置来决定音量大小。因为上边界为y坐标加200,所以我们用除以2来表示。
同理在音量均衡器的movie chip里输入如下代码:
onClipEvent(load){
left = this._x-100;
right = this._x+100;
}
onClipEvent(enterFrame){
if(ss)
_root.mysound.setpan(this._x);
}
}
这样,两个控制台就做好了,然后回到场景,将两个movie chip拖入到场景的第一帧,还有声音开关的两个按钮也拖入,调整好位置(

)。
导入一个声音文件,在library库面板中用鼠标右键单击此声音文件,选取linkage项,选export this symbol,在entifier里输入名称为music(

)。
双击场景的第一帧,打开action面板输入代码如下:
mysound = new sound();
mysound.attachsound(“music”);
意思是新建一个声音对象mysound,绑定名称为music的声音组件。
在播放按钮上鼠标右键单击,加入action如下:
on(release){
mysound.start(0,10);
}
当鼠标单击此按钮时,mysound的声音对象开始播放,并且循环十次。
在停止按钮上单击鼠标右键,加入action:
on(release){
mysound.stop();
}
当鼠标单击此按钮时,mysound对象停止播放。
这样,我们的音乐控制台就制作完成,如果配合电影控制台(见拙作:用Flash实现影片控制,《电脑报》第30期)和fscommand实现屏幕大小切换,那么一个用Flash实现的超级解霸的雏形就制作完成。加入到电影制作当中会令影片增色不少。
在第32期《电脑报》,我们讲了Flash音效制作的上半部分,下面我们继续Flash音效制作的下半部分。
结合Flash制作方面关于声音组件容易出错的问题,我来着重讲一下Sound面板(

)。
Sound栏为选取声音组件。
Effect为效果栏。设置声音的效果,比方说声音的淡入淡出等。
Sync栏为同步方式。设置声音为与影片同步或是事件方式。
Loops栏为循环。设置声音的循环次数。
选取edit开始编辑声音(

),打开编程edit你可以看见一个波形表,可以在表中设置波形方块,但是Flash最多只能设置8个方块。利用波形方块可以很容易做出声音的渐入渐出效果。屏幕下方的几个按钮主要是用来切换编辑视图的,播放和停止按钮可以用来测试声音。
在Library面板里双击声音组件,打开Sound Properties属性面板,其下方声音组件的输出设置(

),coppression项为声音组件的压缩方式,一共有四个选项,Default为默认方式,ADPCM为自适应音频脉冲编码,MP3为使用MP3方式,RAW为不压缩。
Eprocessing为使用单声输出。
Sample Rate为采样率。
48.1KHz,相当于数字媒体的质量。
44KHz,相当于CD的质量。
32KHz,相当于MP3的质量。
22.05KHz,相当于收音机的质量。
11KHz,相当于背景音乐的质量吧(Flash制作的MTV一般设置此标准)。
5KHz的只是一个可以接受的声音,也就是IP电话的质量,不知道朋友们对QQ的二人世界里的声音能不能接受。
bits为位深。
16位是一个标准的CD水平,也是大家最熟悉的。
12位就是MP3的质量。
8位相当于收音机的质量。(大多数闪客按此水平来做MTV)
4位的水平相当于背景音乐的水平,不过也因为它占用的空间少,许多纯Flash网站使用它来做背景音乐。
如果制作好了,可以使用Test测试。
在Flash的发布设置中,还有对左右声道的设置,基本方法同上(

)。
然后结合一个普便的问题。“我的声音与画面不同步,”呵呵,因为你没有留意 sound面板。
在Sound面板中的sync项,默认的是选择event事件,是背景音乐的方式,而我们在做MTV时,应当选择stream,也就是数据流,这样的话,声音会和影片保持同步,但是它有一个缺点,它有时会用跳帧来保持与影片同步。
在大家要导入音乐时,我想提醒大家一个注意事项,就是兼容性,当然我们使用MP3可以得到好的效果,但是它对于老版本的Flash Player就不支持了。因为MP3标准是从Flash5才开始支持的。所以好多的闪客还是喜爱wav文件,因为电脑中几乎所有声音的播放器都支持wav,压缩方式一般选择ADPCM,因为它对所有的版本Flash Player都支持。虽然MP3会给音乐最大的压缩性能比,但压缩后文件并没因此小多少,网络上传播还是不方便。