基于Flash AS3.0声音控制的设计与实现
- 格式:doc
- 大小:25.00 KB
- 文档页数:8
基于Flash AS3.0声音控制的设计与实现作者:张明霞来源:《中国教育技术装备》2014年第20期摘要使用Flash进行教学软件的制作在日常教学中越来越普遍。
在制作过程中除了突出的动画效果,使用声音也是经常涉及的技术。
充分利用Flash AS3.0的技术基础,通过按钮控制声音,并多样化地将所用的声音文件与Flash文档关联。
关键词 Flash;声音控制;教学软件中图分类号:TP317.4 文献标识码:B文章编号:1671-489X(2014)20-0040-031 引言在Flash多媒体课件制作过程中,为了增强教学效果,更好地表达教学内容,通常会加入声音文件,而这些声音文件播放时能否自如地控制,则是在设计过程中需要着重考虑的问题。
另外,声音也可以作为课件的一个重要元素,而不仅仅是背景音乐,如音乐课件中的音画同步设计。
2 设计思路及实现过程设计1:外部文件导入方法1)设计思路:通过load方法,装载声音文件,并设计两个按钮,分别控制声音的播放与停止。
2)设计过程。
第一步:制作“发音喇叭”的影片剪辑。
设计一个有动画效果的发音喇叭。
第二步:设计“发音喇叭按钮”。
执行【插入】|【新建元件】命令,类型设置为“按钮”,名称为“发音喇叭按钮”。
在“指针弹起”“指针经过”“按下”“点击”关键帧中插入“发音喇叭”影片剪辑。
第三步:设计“静音喇叭”图形。
执行【插入】|【新建元件】命令,类型设置为“图形”,名称为“静音喇叭”。
绘制一个静音喇叭的效果图。
第四步:设计“静音喇叭按钮”。
执行【插入】|【新建元件】命令,类型设置为“按钮”,名称为“静音喇叭按钮”。
在“指针弹起”“指针经过”“按下”“点击”关键帧中插入“静音喇叭”图形。
第五步:设计“声音控制”影片剪辑。
执行【插入】|【新建元件】命令,类型设置为“影片剪辑”,名称为“声音控制”。
将图层1重命名为“声音控制按钮”,并从库中拖入“发音喇叭按钮”和“静音喇叭按钮”。
新建图层,命名为“action”,右击第一帧,设计如下动作:var mymp3:Sound =new Sound();//建立一个名为mymp3的声音对象mymp3.load (new URLRequest("柔如彩虹.mp3"));//此处为导入的声音文件var music:SoundChannel =mymp3.play ();music.stop ()//SoundMixer.stopAll();play_btn.addEventListener (MouseEvent.CLICK,clickplay)stop_btn.addEventListener (MouseEvent.CLICK,clickstop)function clickplay(event:MouseEvent):void {SoundMixer.stopAll();music=mymp3.play ()}function clickstop(event:MouseEvent):void {SoundMixer.stopAll();}此步骤需要注意的是,声音文件和Flash源文件位于同一根目录中。
第六步:将“声音控制”影片剪辑插入到场景。
回到场景中,将“声音控制”影片剪辑从库拖入到场景中,并调整其位置。
设计2:影片剪辑控制法1)设计思路:创建影片剪辑元件,在元件中导入声音文件,设计两个按钮,分别控制声音的播放与停止。
并进一步探讨使用一个按钮控制声音的方法。
2)设计过程。
第一步:将声音文件导入到库中。
执行【文件】|【导入】|【导入到库】命令,在弹出的对话框中找需要添加的声音文件然后打开。
第二步:创建“声音”影片剪辑。
执行【插入】|【新建元件】命令,创建一个元件,名称为“声音”,类型为“影片剪辑”,单击“确定”按钮,进入“声音”影片剪辑编辑状态。
打开库面板,将声音文件拖放在场景中,在时间轴上添加普通帧至音频结束。
在属性面板上设置其【同步】为【数据流】。
第三步:回到主场景,将图层命名为声音。
从库中拖出“声音”影片剪辑到场景中,在属性面板上设置其实例名为“mysound”。
第四步:用按钮来控制声音的播放和停止。
再新建一层,取名按钮层,执行【窗口】|【其他面板】|【公用库】|【按钮】命令,从公用库中拖出两个按钮(播放按钮和停止按钮)放在场景中。
两个按钮的实例名称分别设置为play_btn和stop_btn。
第五步:新建一图层,取名action,单击第一帧,打开动作面板,加语句:mysound.stop ();play_btn.addEventListener (MouseEvent.CLICK,clickplay)stop_btn.addEventListener (MouseEvent.CLICK,clickstop)function clickplay(event:MouseEvent ):void {SoundMixer.stopAll();mysound.play ();}function clickstop(event:MouseEvent ):void {mysound.stop ();}}也可以用一个按钮来进行声音的控制,那么第四步则从公用库里拖一个按钮到按钮层,放在场景中的合适位置,并把按钮的实例名称改为control_btn。
第五步则在动作面板加如下语句:mysound.stop ();var k:int =new int();control_btn.addEventListener (MouseEvent.CLICK,clickcontrol)function clickcontrol(event:MouseEvent ):void {k=k+1;if(k%2==1){SoundMixer.stopAll();mysound.play ();}else{mysound.stop ();}}设计3:链接控制法1)设计思路:在库中导入声音文件,并进行链接设置,设计两个按钮,分别控制声音的播放与停止。
2)设计过程。
第一步:将声音文件导入到“库”中。
右击“库”中的声音对象,在弹出的快捷菜单中选择“属性”命令,选择“AcionScript”选项卡,勾选“为动作脚本导出”和“在第一帧导出”复选项,设置标识符中的类为“MyMP3”。
第二步:执行【窗口】|【其他面板】|【公用库】|【按钮】命令,从公用库中拖出两个按钮(播放按钮和停止按钮),放在场景中。
两个按钮的实例名称分别设置为play_btn和stop_btn。
第三步:新建图层,命名为“action”,选择第一帧,打开动作面板,输入以下代码:var mp3:MyMP3 = new MyMP3();play_btn.addEventListener (MouseEvent.CLICK,clickplay)stop_btn.addEventListener (MouseEvent.CLICK,clickstop)function clickplay(event:MouseEvent ):void {SoundMixer.stopAll();mp3.play ()}function clickstop(event:MouseEvent ):void {SoundMixer.stopAll();}当然也可以用一个按钮控制声音的播放和停止,其按钮的相关设置和代码类似于设计2。
设计4:音画同步设计1)设计思路。
本设计中控制声音与画面同步,同时制作三个按钮“play_btn”“pause_btn”和“stop_btn”,用来控制声音的播放、暂停和停止。
因此,本部分设计分两大部分进行:音画同步和按钮设计。
2)设计过程。
①音画同步的设计步骤。
第一步:将声音文件导入到“库”中。
第二步:打开库将音乐文件(如红星照我去战斗.mp3)从库中拖到场景中,这时在时间轴的第一帧上,音乐只是一条短直线。
在时间轴的第一帧后的任意一帧处按F5键将帧延长,如果此时在帧上面的声波显示未结束,则继续向后延续帧,直至声音结束。
选择第一帧,在属性面板中将“同步”属性设置为“数据流”。
第三步:新建图层,将图层命名为“歌词”。
将时间轴的指针移动到第一帧处,按Enter 键,听音乐,当音乐中的第一句歌词刚开始时,马上再按一次Enter键,这时音乐会停止。
在音乐停止的这一帧处按F7键,插入一个空白关键帧,在属性面板中设置帧标签“start 01”;继续按Enter键,听音乐,当音乐中的第一句歌词结束时,按Enter键,按F7键标注帧标签“end 01”。
反复上面的步骤,一直到整首音乐的歌词位置都标注完成。
在该步骤中需多次听音乐,以便把每句歌词的位置标注准确。
第四步:以上的步骤完成之后,就可以在每句歌词的具体位置(如“start 01”和“end 01”之间)设计歌词。
由于下面的按钮设计过程中需要的音乐是通过URL地址链接的形式提供,所以将插入音乐的图层删除,保留“歌词”图层。
②声音的播放、暂停和停止按钮设计步骤。
第五步:新建图层,将图层命名为“按钮”。
执行【窗口】|【其他面板】|【公用库】|【按钮】命令,从公用库中拖出三个按钮(播放、暂停和停止按钮)放在场景中。
三个按钮的实例名称分别设置为“play_btn”“pause_btn”和“stop_btn”。
依次选中各个按钮,在属性面板中调整按钮的位置和大小,可以设置“play_btn”“pause_btn”这两个按钮重合。
第六步:新建图层,将图层命名为“action”,右击第一帧,打开动作面板,加语句:var _sound:Sound=new Sound();var _channel:SoundChannel=new SoundChannel();var url:String="红星照我去战斗.mp3";//此处为音乐的文件名称,并把Flash源文件与音乐文件放在一个文件夹内var _request:URLRequest = new URLRequest(url);_sound.load(_request);_channel=_sound.play();//暂停、播放与停止var position:intpause_btn _btn.visible=true;play_btn _btn.visible=false;play_btn _btn.addEventListener(MouseEvent.CLICK, clickplay);function clickplay (e:MouseEvent):void {pause_btn _btn.visible=true;play_btn.visible=false;_channel=_sound.play(position);}pause_btn _btn.addEventListener(MouseEvent.CLICK, clickpause);function clickpause (e:MouseEvent):void {pause_btn _btn.visible=false;play_btn _btn.visible=true;position=_channel.position;_channel.stop();}stop_btn _btn.addEventListener(MouseEvent.CLICK, clickstop);function clickstop (e:MouseEvent):void {pause_btn _btn.visible=false;play_btn _btn.visible=true;position=0;_channel.stop();}3 小结在Flash多媒体课件或者其他动画形式中设计声音是常见的设计形式。