╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇FLASH交流 → Flash声音控制详解


  共有15187人关注过本帖树形打印复制链接

主题:Flash声音控制详解

美女呀,离线,留言给我吧!
卡西莫咄
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 帖子:18 积分:338 威望:0 精华:0 注册:2008/6/6 15:19:56
Flash声音控制详解  发帖心情 Post By:2008/6/17 16:33:06 [只看该作者]

声音是多媒体的重要组成元素,恰当、灵活地运用声音往往是多媒体作品的成败关键。Flash作为人们喜爱的多媒体工具,其声音的使用方式也丰富多样,本文探讨了在Flash中使用声音的几种情况,希望能对大家有所帮助。 

一、在时间轴中使用声音


这是Flash中声音最常使用的方式,任何一本Flash教材都会讲到这个问题,所以只作简单说明。


在设置一个关键帧后,只要你导入了声音文件,在帧属性面板都能进行该帧的声音设置。声音的同步属性(Sync)主要有以下几种:


1.事件(Event)。用这种方式设置的声音会独立于时间轴播放,只要你没有用其它方式中止,它会一直播放下去直到结束,其最大好处是可以用来设置一些类似循环的播放效果,只要你把它后面的循环属性(Loop)设置得足够大。


2.开始(Start)。其特点是,当该帧开始播放,将停止动画中前面帧调用的声音,只播放当前帧中的声音。


3.停止(Stop)。设置后,将立即停止播放当前帧的声音。


4.数据流(Stream)。设置后,会使动一的播放与声音同步,如果动画下载速度跟不上声音,将跳过相关帧而保持与声音同步。另外,如果在播放中设置了(Stop)动画停止,声音也将停止;但如果使用play()语句,声音又将从停止处接着播放。


二、用ActionScript语句调用声音


Flash提供了强大的脚本编辑功能,几乎能与一些专门的编程语言相媲美,在多媒体方面可谓更胜一筹,用Flash脚本语言调用声音,在无论是效果还是灵活性,都值得一试。


1.加入声音


导入外部声音,按Ctrl+L键,弹出库窗口,选中导入的声音,单击右键,在弹出菜单中选择“链接”菜单项,弹出“链接属性”对话框,先选中“为动作脚本导出”复选框,此时对话框上部的“标识符”一栏将变得可用,在其中输入其标识名,在此我们假设输入为“sd”,此标识将在程序中作为该声音的标志,故多个声音不得使用同一个标识符。


在Flash时间轴上的第一帧输入以下语句:


mysong = new Sound()

mysong.attachSound("sd")


以上语句先定义一个声音事件mysong,再用mysound.attachSound("sd")语句将库中的声音附加到此声音事件上。


2.声音的播放与停止


在需要播放的帧加入“mysong.start()”语句可让声单播放。


需要停止时,加入“mysong.stop()”语句则可。


3.调用外部声音文件


Flash可以在播放时动态加载外部mp3文件,此方法既为多媒体设计提供了更大的灵活性,也能有效地减小作品所占的磁盘空间。实现方法如下(假设同目录下有music.mp3文件):


mysong=new Sound()

mysong.loadSound("music.mp3",false)


说明:第一行语句建立一个声音事件或声音流,第二行将music.mp3加载到声音事件事声音流上,loadSound()语句中的false为可选能数,为false时表示mysound为声音事件,为true时表示mysound为声音流,建议使用声音事件,以便于控制;如果使用声音流,则声音停止后将不能再用mysond.start()播放。


三、声音循环播放


前面说过,在时间轴上设置关键帧的声音同步属性为Event时,输入足够大的循环次数,可使声音产生类似循环播放的效果,但是,这种循环仅是类似而已,一者次数再多,总有播放完毕的时候;二者一旦停止,就很难再次播放。下面,向大家介绍一种用代码实现的真正循环,而且,还可用一个按钮实现声音的播放也停止切换,想播就播,想停就停,岂不快哉。


我们可在时间轴的第一帧加入如下代码:


mysong = new Sound()

mysong.attachSound("sd")

mysong.onSoundComplete = function() { 

mysong.start()

“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部