Flash CS4 控制声音播放
FLASH CS4 控制音频播放
FLASH CS4 控制音频播放在之前的章节中,已介绍了如何在Flash中加载声音。
Flash CS4除了加载声音外,还可以对声音播放进度进行一系列的控制,如播放、暂停、停止。
除此之外,还可以控制音量的大小。
1.停止声音在之前的章节中已经介绍了如何在Flash中播放音频。
在制作音频播放器时,除了需要播放音频外,还需要控制音频的停止。
这需要使用到flash.media包中的SoundMixer类。
SoundMixer是一种控制全局的类,其可以控制由Flash影片播放的所有声音流,并且拥有多种全局控制的属性和方法。
也是说,SoundMixer并不控制动态创建的Sound对象。
SoundMixer常用的属性主要有两种:●bufferTime 该属性的作用是设置声音流在开始传输前预加载的时间,单位为秒。
●soundTransform 该属性的作用是为SoundMixer对象引入控制全局的SoundTransform对象。
SoundMixer的这两种属性都属于静态方法,仅可以操作嵌入到Flash影片中的声音,无法对在ActionScript中动态创建的声音进行操作。
除了以上的属性外,SoundMixer还包含3种常用的方法。
●areSoundsInaccessible() 确定是否因安全限制而无法访问声音●computeSpectrum() 获取当前声音的波形快照,并将其放在指定的ByteArray对象中。
●stopAll() 停止当前播放的所有声音。
例如,在一个播放器中,停止播放的按钮实例名称为stopBtn,则为其添加的停止播放代码如下。
stopBtn.addEventListener(MouseEvent.CLICK,stopMusic);function stopMusic(event:MouseEvent):void{SoundMixer.stopAll();}需要注意的是,在使用stopAll()方法时,所引用的SoundMixer类本身,而不是该类的实例。
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")语句将库中的声音附加到此声音事件上。
FLASH CS4 应用音频
FLASH CS4 应用音频Flash中有两种声音类型:“事件声音”和“音频流”。
事件声音和音频流之间最大的区别不是声音文件本身的不同,而主要体现在动画播放过程中的不同。
事件声音必须完全下载后才能开始播放,除非明确停止,否则它将一直连续播放;音频流在前几帧下载了足够的数据后就开始播放,通过与时间轴同步以便在网络中播放。
1.将声音导入到库如果要在Flash文件中导入声音,可以执行【文件】|【导入】|【导入到库】命令,打开【导入到库】对话框。
然后选择并打开所需的声音文件,即可将其添加到【库】面板,如图12-1所示。
如果使用该声音,直接将其从【库】面板拖放到文档中即可。
图12-1 【库】面板中的声音元件将其从公用库中拖入到当前文档库中即可。
另外,需要将声音置于时间轴上的一个单独层上。
2.将声音添加到时间轴在Flash中要为影片添加声音文件,首先执行【插入】|【时间轴】|【图层】命令,为声音创建一个新图层。
然后选择新建的声音图层,将声音从【库】面板拖入到舞台中,声音就会添加到当前图层中,如图13-2所示。
图13-2 在文档中使用声音将每个声音放在一个独立的图层上,使每个图层作为一个独立的声音通道。
当播放影片时,所有层上的声音会混合在一起。
3.声音控制区在时间轴上,选择包含声音文件的任意帧,执行【窗口】|【属性】命令,打开【属性】面板。
然后,单击【声音】标签前面的箭头,以展开声音控制区域,如图12-3所示。
图12-3 声音控制区域在【效果】列表框中,不仅可以简单设置音频的效果,还可以通过【编辑封套】对话框精确制作所需的效果。
【效果】列表框中的选项如下所示:●无不对声音文件应用效果。
选中此选项将删除以前应用的效果。
●左声道仅播放左声道的声音。
此时单击【编辑声音封套】按钮,可打开【编辑封套】对话框,在上面一个波形预览窗口(左声道)中的直线位于最上面,表示左声道以最大的声音播放,而下面一个波形预览窗口(右声道)的直线位于最下面,表示右声道不播放,如图12-4所示。
FLASH动画制作中声音控制的方法和技巧
FLASH动画制作中声音控制的方法和技巧作者:王红娟来源:《河南农业·综合版》 2014年第12期河南农业职业学院王红娟摘要:FLASH动画制作中声音的控制有一定的方法和技巧,如果图层选择不对或者关键帧做得不对,就会出现静音和重音的现象。
简单介绍了FLASH动画制作中声音的各种调节参数,分别介绍了相同页面与不同页面声音播放和停止的语句的运用,有利于我们在FLASH动画制作中对声音的控制。
关键词:FLASH动画制作;声音控制;方法技巧在动画中添加一段美好有趣的音乐会让动画更加精彩,目前FLASH声音已经被广泛应用于片头、网页中,而声音的控制则是FLASH动画制作的难点和重点。
因为在FLASH动画制作中,有相同页面的声音的播放和停止与不同页面的声音播放和停止的区别,在插入图层和添加帧时都有不同的语句相对应。
一、FLASH动画制作中声音的各种调节参数要想掌握FLASH动画制作中声音的控制方法,必先认识声音调节的各种参数,并且注意输入参数命令时要注意区分大小写,这样才能有效地完成声音的制作。
在FLASH动画制作声音的各种调节参数中,mySound是一个声音对象,在用as来控制声音之前,一定要先创建声音对象newSound。
有了新建的声音对象,再运用各种语句对声音的播放和停止进行控制。
命令参数如下。
(一)播放与停止(单位:秒)开始播放声音{mySound.start();},如果想在声音的第二秒中播放,可输入{Sound.start(2);},停止声音的播放{mySound.stop();}。
(二)音量控制(范围从0到100)获取当前的音量大小{mySound.getVolume();},设置当前音乐的音量{mySound.setVolume();}。
(三)左/右均衡(范围从-100到100)获取左右均衡的值{mySound.get-Pan();},设置左右均衡的值{mySound.setPan();}。
Flash CS4 设计音频播放器
Flash CS4 设计音频播放器ActionScript 3.0脚本语言除了可以加载外部的声音文件,还可以结合外部的XML 文件,制作播放列表供用户选择,并且可以控制声音的快进、倒退、音量等。
结合ActionScript 3.0的脚本绘图技术以及数组技术,用户可以方便地制作出媲美专业水平的音频播放器。
例如,本节就将使用ActionScript 3.0,制作一个可以进行列表选择、音量控制、进度控制的音频播放器。
操作步骤:(1)在Flash 中执行【文件】|【新建】命令,在【新建文档】对话框中选择【Flash 文件(ActionScript3.0)】选项,单击【确定】按钮,创建固定尺寸的空白文档。
(2)设置Flash 文档的大小为800px ×550px ,然后,执行【文件】|【导入】|【打开外部库】命令,从“XPlayerRes.fla ”外部库文件中导入各种元件。
然后,打开【组件】面板,导入Label 和ProgressBar 组件。
选择单击创建(3)将默认的“图层1”改名为background ,导入background 位图素材。
新建surface 图层,导入surfaceSkin2和surfaceSkin 影片剪辑元件,作为播放器的皮肤。
(4)新建controlBtns 图层,分别导入8个控制播放的按钮,为各按钮设置实例名称。
然后,新建infoArea 图层,导入infoArea 元件和listArea 元件,作为显示播放信息和列表信息的背景图像。
(5)新建component 图层,从【库】面板中分别拖拽3个标签组件(L abel )和一个进度条组件(ProgressBar ),用于显示各种歌曲的信息。
然后,在【属性】面板中设置这些组件的实例名称、位置和大小等属性。
设置大小插入背景导入皮肤导入按钮元件导入播放信息背景导入列表信息背景(6)新建ActionScript 图层,选中图层,然后打开【动作】面板,在面板中使用ActionScript 脚本实例化各种播放器所使用的对象。
Flash中用按钮控制声音的几种方法
Flash中用按钮控制声音的几种方法Flash课件中声音控制的几种方法(学习几点心得)在中小学教师开发的课件中,用Flash制作的比例越来越大,而声音作为多媒体课件的重要组成部分,应用得合理与否直接影响到课件整体艺术力的表现。
在八月份的第一期Flash课件制作培训时,我们讲了两种应用声音的控制方法,一种是导入时间轴,用play,stop等命令进行简单控制;另一种是利用组件工具来控制声音的播放。
显然,这两种方法是简单的、易掌握的,但能实现的功能却有所局限。
本文整理了Flash 声音控制的另外两种方法,希望对课件制作爱好者有所帮助。
一、用Sound 类的start 方法很多人在制作一个带配音的Flash课件时,会设计了两个按钮,一个按钮控制音乐的播放,另一个按钮控制声音的停止。
当单击按钮让音乐停止后,再次单击控制音乐播放的按钮,音乐却从头开始播放了。
这里可以用Sound 类的start 方法来控制音乐播放。
用Sound 类的start方法来播放音乐必须给出必要的参数,通过参数控制音乐从停止处开始播放。
否则,音乐就是直接从头开始播放。
用sound类的position 属性和start方法结合在一起就可以解决这个问题。
具体操作步骤是:(1)将音乐导入到“库”中。
右击“库”中的音乐对象,在弹出的快捷菜单中选择“链接”命令,打开“链接属性”对话框,勾选“为动作脚本导出”和“在第一帧导出”复选项,设置标识符为“mySound”。
(2)在第1帧上添加如下脚本:myMusic = new Sound();//建立一个名为myMusic的声音对象,myMusic.attachSound("mySound"); //将链接标识符为mySound的音乐捆绑到myMusic对象上。
(3)在播放音乐的按钮上添加如下脚本:on (press) {var t=myMusic.position/1000; //计算声音当前播放的位置myMusic.start(t); //从当前位置开始播放position 是Sound类的一个属性,可以获得声音对象播放的当前位置。
Flash CS4 控制关键帧的音频
Flash CS4 控制关键帧的音频
将声音添加到音频层上指定的关键帧,就可以为关键帧上的动画配音,并且能够控制关键帧的音频的播放和停止时间。
要使音频与场景中的某个事件配合,可以先选择该事件发生的起始关键帧作为音频的起始关键帧,再将声音添加到该帧上,同时,还可以选择一种同步方式。
然后,在音频层的时间轴上再创建一个关键帧,作为声音的终点关键帧,此时在音频层的时间轴中将出现音频线。
选择终点关键帧,在【属性】面板的【名称】下拉列表框中选择与起点关键帧相同的声音文件,然后,在【同步】下拉列表框中选择【停止】选项。
这样在播放动画时,播放到该终点帧处,声音就会停止播放。
选择 拖入到舞台
插入关键帧
音频线 选择 选择 选择。
flash中我们如何用一个按钮来控制声音
flash中我们如何用一个按钮来控制声音一个按钮来控制FLASH声音的播放和暂停先了解一下读取声音函数和属性:mySound是一个声音对象,我们在用as来控制声音之前,一定要先使用构造函数newSound创建声音对象。
只有先创建声音对象以后,FLASH才可以调用声音对象的方法。
还有,FLASH的action是区分大小写的,所以在写action的时候,一定要注意。
mySound=newSound();//新建一个声音对象,对象的名称是mySound。
声音对象的方法:播放与停止:mySound.start();开始播放声音。
如想在声音的某一秒中播放,可输入Sound.start(2),即:从声音的第二秒开始播放。
(这里的单位只能是秒)mySound.stop();停止声音的播放。
音量控制:(范围从0-100)mySound.getVolume();获取当前的音量大小。
mySound.setVolume();设置当前音乐的音量。
左/右均衡:(范围从-100到100)mySound.getPan();获取左右均衡的值。
mySound.setPan();设置左右均衡的值。
声道音量:mySound.getTransform();获取左右声音的音量。
mySound.setTransform();设置左右声道的音量。
声音对象的函数:attachSound;从FLASH的库中挷定一个声音mySound.onLoad;是从外部读取声音文件mySound.onComplete;声音播放完成时调用。
看看我们如何用一个按钮来控制声音执行【文件】|【导入】|【导入到库】命令,将声音文件导入到库中。
新建一个MC,命名为“声音”,F11打开库面板,将声音文件拖放在场景中,在时间轴上添加普通帧至音频结束。
在属性面板上设置其【同步】为【数据流】。
回到主场景,在第1帧输入bongfang=0;从库中拖出“声音”MC,在属性面板上设置其实例名为“mc”。
Flash 里的声音控制
Flash 里的声音控制有两种方法:1.把声音直接在拖倒时间轴上的关键帧里,然后在属性面版进行相关属性设置.需要注意几个同步方式的区别.事件(Event):将声音设置为事件,可以确保声音有效地播放完毕,不会因为帧已经播放完而引起音效的突然中断,制作该设置模式后声音会按照指定的重复播放次数一次不漏地全部播放完。
开始(Start):将音效设定为开始,每当影片循环一次时,音效就会重新开始播放一次,如果影片很短而音效很长,就会造成一个音效未完而又开始另外一个音效,这样就造成音效的混合而乱了。
停止(Stop):结束声音文件的播放,可以强制开始和事件的音效停止。
数据流(Stream):设置为数据流的时候,会迫使动画播放的进度与音效播放进度一致,如果遇到机器的运行不快,FLASH电影就会自动略过一些帧以配合背景音乐的节奏。
一旦帧停止,声音也就会停止,即使没有播放完,也会停止。
注意:其中应用最多的是事件选项,它表示声音由加载的关键帧处开始播放,直到声音播放完或者被脚本命令中断。
而数据流选项表示声音播放和动画同步,也就是说如果动画在某个关键帧上被停止播放,声音也随之停止。
直到动画继续播放的时候声音才开始从停止处开始继续播放,一般用来制作MTV2.用AS控制.要先创建声音对象,关联某个声音,然后运用声音对象的方法进行操作.For example: mysound=new Sound(); //创建声音对象mysound.attachSound("sound1"); // 链接声音sound1. 这里要先对声音的链接属性进行设置,两个选项(a.为ActionScript 运行导出 b. 在第一帧导出)都要打勾.标识符不能为空,在as中对声音的引用要用到.这里标识符是sound1.mysound.start(); //声音开始播放.Sound functions: <1> mysound.start(offsettime,loop) //offsettime:时间偏移量,单位s. loop,循环次数.这句话表示声音从offsettime开始播放到声音结束,播放loop次.(BTW,做声音开关的时候,本来想通过offsettime来让动画和声音同步的,发现根本不好用.特别是声音文件导出时如果压缩了,那通过这个来同步更是没戏.<2>mysound.stop();<3>mysound.setVolume(volume); volume:0-100. 0是最低音量,100最高.(通过按钮操作,设置音量做声音开关时发现,点击按钮,改变音量时,声音会从头开始播放,根本不是只改变当前时间及以后播放的声音音量)<4>mysound.getVolume();<5>mysound.setPan(pan) pan: -100到100 .这个是左右声道均衡值.<6>mysound.getPan()<7>mysound.duration() //声音持续播放时间<8>mysound.position() //声音播放的当前时间<9>mysound.onSoundComplete() {mysound.start();} //通过这个语句可以让声音无限制循环.mysound.onSoundComplete(){}//是声音结束时需要执行的操作还有两个系统函数:getTimer() 获取动画播放的时间stopAllSounds() 合理应用上面的声音对象方法或函数能够满足flash 对声音控制的一般需求.比如,1.可以做声音开关.简单的控制声音的播放和停止.2.做暂停按钮,(flash本身没有提供暂停的函数)用mysound.position() 记录声音停止时的位置,下次播放的时候从这个位置播放.3.背景音乐的无限循环.mysound.onSoundComplete() {mysound.start();} 经典案例:我做一个flash ,遇到这样的需求:我的音乐比较长且完整而且需要和画面配合,不是简单的声音循环.又需要做个声音开关按钮,开关控制声音播放时,声音要从和画面同步的声音处开始播放而不能从头开始播放.这样的话按钮代码on(press) {mysound.start();} 肯定是不能满足需求了.于是我试图通过下面几种方法解决问题:方法一:1.在动画开始时定义一个变量并赋值. var starttime=getTimer(); // record the start time of flash2.在按钮"on"上增加这样的代码:on(press){r_time=(getTimer()-starttime)/1000; //想获得动画从开始到点击按钮时总共播放的时间.getTimer()获得的时间单位是ms.mysound.start(r_time,1); //声音从r_time处开始播放.循环一次}照理说,这样应该让声音同步才是,但事实结果是声音和动画在声音关闭--再次开始播放后无法同步.方法二:通过设置声音音量来做声音开关.我想着这种方法只是改变一下音量,并没有让声音真正停止,声音应该和动画同步播放才是.事实结果是---声音会从头播放,无法同步.也不能达到我的要求.开关按钮代码:on(press){ //stop buttonmysound.setVolume(0);}on(press){ //play buttonmysound.setVolume(100);}很奇怪的是,声音也有fade in 和fade out .也就是说volume 能够动态改变的,不明白这样为什么还是不行.最后网上的一片文章给了我灵感.我通过下面的方法解决了我的问题.1.创建一个mc,把声音sound1拖倒mc的时间轴上.同步方式为数据流.(上面说过了,数据流能让声音和动画很好的同步.相当于声音流和每帧绑定)mc的帧长和我在主场景需要的声音帧长相同.2.在主场景创建mc实例.实例名:sd.持续帧长和mc的帧长相同.3.在主场景添加声音开关按钮,并添加按钮代码.on(press){ //stop按钮sd.gotoAndStop(455); //455 帧是我mc的最后一帧,这帧已经没有声音}on(press){ //play buttonsd.gotoAndPlay(_root._currentframe); //声音从主场景的当然帧这个时间开始播放}ok ,这样就能满足我的需求,解决我的问题拉!Happy 一下:)心得:其实最后这个方法是一个很巧妙而且折中的方法.巧妙的将as 控制声音和时间轴引用声音结合在了一起.时间轴上引用声音,能够设置数据流同步方式,将声音和动画绑定,保证了很好的同步.把声音做成mc ,让按钮发挥了很好的作用.通过控制mc从而控制声音的开关.。
最新【FLASH控制动画声音的停止和播放】动画
最新【FLASH控制动画声音的停止和播放】动画今天有闪友问到如何控制AS3中的声音问题,用下面的小实例说明:/*As3Sound.as*/package {importflash.display.Sprite;import flash.events.*;import flash.media.Sound;importflash.media.SoundChannel;import.URLRequest;import flash.utils.Timer;import flash.text.TextField;importflash.text.TextFieldAutoSize;importflash.filters.DropShadowFilter;public class As3Sound extends Sprite {private var url:String ="/music/XXX.mp3";private var soundFactory:Sound;private varchannel:SoundChannel;private varpositionTimer:Timer;private varplay_btn:Sprite;private var stop_btn:Sprite;private var d_filtersropShadowFilter=newDropShadowFilter(5,45,0x000000,80,8,8);//用于记录音乐现在是否为暂停状态private var bSoundStop:Boolean = false;public function As3Sound() {varsxl_txt:TextField = newTextField();sxl_txt.text="CS4中如何控制声音的播放或停止的";sxl_txt.autoSize=TextFieldAutoSize.LEFT;sxl_txt .x=stage.stageWidth/2-sxl_txt.width/2;sxl_txt.y=20;addChild(sxl_txt);var mp3_request:URLRequest = newURLRequest(url);soundFactory = new Sound();//成功加载数据后soundFactory.addEventListener(PLETE, completeHandler);//在存在可用于 MP3 声音的 ID3 数据时soundFactory.addEventListener(Event.ID3,id3Handler);//加载音乐错误时soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);//音乐加载中...soundFactory.addEventListener(ProgressEvent.PROGR ESS,progressHandler);soundFactory.load(mp3_request);channe l = soundFactory.play();//音乐播放完成channel.addEventListener(Event.SOUND_COMPLETE,soundCompleteHandler);//用Timer监听音乐的播放进度positionTimer = newTimer(1000);positionTimer.addEventListener(TimerEvent. TIMER, positionTimerHandler);positionTimer.start();//创建一个按钮,用于播放音乐play_btn = newSprite();play_btn.graphics.beginFill(0xFFCC32);play_bt n.graphics.drawRoundRect(0, 0, 70, 18, 10,10);play_btn.graphics.endFill();var play_txt:TextField = new TextField();play_txt.text = "播放";play_txt.x=18;play_btn.x=50;play_btn.y=100;play _txt.selectable =false;play_btn.addChild(play_txt);play_btn.filters=[d_ filters];play_btn.addEventListener(MouseEvent.CLICK, soundPlay);addChild(play_btn);//创建一个按钮,用于停止音乐stop_btn = newSprite();stop_btn.graphics.beginFill(0xFFCC32);stop_bt n.graphics.drawRoundRect(0, 0, 70, 18, 10,10);stop_btn.graphics.endFill();stop_btn.x=130;stop_bt n.y=100;var stop_txt:TextField = newTextField();stop_txt.x=18;stop_txt.text = "暂停";stop_txt.selectable =false;stop_btn.addChild(stop_txt);stop_btn.filters=[d_ filters];stop_btn.addEventListener(MouseEvent.CLICK, soundStop);addChild(stop_btn);}//监听音乐的播放进度private functionpositionTimerHandler(event:TimerEvent):void {varybf:int = channel.position.toFixed(0);var zcd:int = soundFactory.length;var bfs:int =Math.floor(ybf/zcd*100);//trace("音乐总长度:"+zcd, "音乐已播放:"+ybf, "播放进度为:"+bfs+"%");}//加载音乐完成时private function completeHandler(event:Event):void {//trace("加载音乐完成: " + event);}//在存在可用于MP3声音的ID3数据时private functionid3Handler(event:Event):void {//trace("音乐的ID3信息如下:");for (var s in soundFactory.id3){//trace(" ", s, ":", soundFactory.id3[s]);}//trace("关于ID3信息介绍,请参见Sound类-->属性-->id3");}//加载音乐错误时private function ioErrorHandler(event:Event):void {//trace("加载音乐错误,错误信息如下:" + event);positionTimer.stop();}//加载音乐时privatefunction progressHandler(eventrogressEvent):void {var yjz:int = event.bytesLoaded;var zcd:int =event.bytesTotal;var bfs:int =Math.floor(yjz/zcd*100);//trace("音乐总长度:"+zcd,"已加载: "+yjz, "加载进度为:"+bfs+"%");}//音乐播放完成private function soundCompleteHandler(event:Event):void{//trace("音乐播放完成: " +event);positionTimer.stop();}//点击播放按钮事件private function soundPlay(event:MouseEvent):void {if (bSoundStop) {bSoundStop = false;channel = soundFactory.play(channel.position.toFixed(0));}}//点击停止按钮事件private functionsoundStop(event:MouseEvent):void {if (!bSoundStop) {bSoundStop = true;channel.stop();}}}}。
基于Flash CS4音乐播放器的设计与实现
基于Flash CS4音乐播放器的设计与实现/摘要:利用Flash 中的ActionScript实现音乐播放器在多媒体设计中有广泛的应用。
本文基于Flash CS4中的AS3,设计并制作一款音乐播放器,能够完成音乐播放、暂停、停止、播放进度显示、音量控制的功能。
关键词:元件;场景;ActionScript;音乐播放器;多媒体动画设计flash播放器官方下载一、设计播放器界面利用Flash CS4的基本绘图工具和颜色填充工具绘制播放器的界面,注意设置尺寸值,播放进度槽、播放进度条、音量按钮宽度值分别为400、安装flash播放器1、6,音量按钮高度值为4,这些数值将与后面AS代码的有关数据相对应。
分别将播放器界面背景、播放按钮、暂停按钮、停止按钮、播放进度槽、播放进度条、音量条、音量按钮转换成影片剪辑元件beijing、按钮元件1、按钮元件2、按钮元件3、影片剪辑元件4、影片剪辑元件5、影片剪辑元件6、影片剪辑元件7。
在Flash场景中由下至上,把播放器界面背景、暂停按钮、播放按钮、停止按钮、播放进度槽、播放进度条、音量条、音量按钮分别放置在不同的图层上,通过属性面板的位置参数对齐暂停按钮、播放按钮的位置,使播放按钮正好放置在暂停按钮的上方,并在属性面板中为元件依次命名为“bj_mc”、“stp_btn”、“ply_btn”、“restart_btn”、“jdc_mc”、“jdt_mc”、“bar_mc”、“slider_mc”。
如图1所示。
二、编写AS3代码1.编程前的准备工作(1)首先把音乐文件和Flash文件放置到同一个文件夹里,这样方便文件的调用。
(2)在时间轴上新建一个图层,命名为“action”。
选择第一帧,单击动作—帧选项卡,打开动作面板,编写代码。
这也是AS3和AS2的不同之处,AS3的动作是写到帧上,而不是写在按钮或者影片剪辑上。
2.调用外部音乐文件(1)调用外部文件之前要声明一个实例s来继承sound类,输入:var s:Sound = new Sound();(2)然后定义一个变量req,将音乐文件的路径信息赋给它,输入:var req:URLRequest = newURLRequest(“高山流水.mp3″);(3)实例s通过load()函数来调用音乐文件,输入:s.load(req);3.播放按钮程序的编写当鼠标单击播放按钮时,音乐开始播放,因此需要为播放按钮添加一个侦听器来侦听鼠标单击事件。
FLASH声音的控制
为升国旗添加声音控制
1)打开升国旗.fla 2)文件导入导入到库选国歌 3)窗口库右击国歌链接 4)输入sd 打勾确定
5)选中第1帧展开动作面板写 mysong=new Sound() mysong.attachSound("sd") stop() 6)创建 升旗按钮 7)返回场景在最上面插入图层将库中的升旗按 钮拖到插入的图层中 8)选中按钮展开动作面板写 on (press) { mysong.start() play() }
声音的控制
一、声音的导入到舞台
1.将WAV声音文件导入到舞台 1)文件导入导入到舞台 2)选中帧展开属性面板 选取声音 测试,播放时即可播放
二、声音导入到库 导入到库可以mp3 wav 步骤 1)文件导入导入到库
2)窗口库右击选 3)打勾输入 sd
4)打开骏马奔腾选中第1帧展开动作面板 先定义一个声音事件mysong 输入 再用 mysound.attachSound("sd ")语句将库中的声音附加到此 mysong=new Sound() 声音事件上 mysong.attachSound("sd") stop() 需要播放的帧或按钮加入 测试时,没有声音,没有动画 “mysong.start()”语句可让 声单播放 如果写 mysong=new Sound() mysong.attachSound("sd") mysong.start() Stop(); 有声音但没动画
5)创建按钮 6)返回场景插入图层将库中的按钮拖到 场景中 7)选中按钮 8)展开动作面板 写指令 on (press)பைடு நூலகம்{ mysong.start() play() }
三、控制声音停止 1)制作停止按钮 2)将停止按钮拖到场景中 3)选中停止按钮展开动作面板 写指令 on (press) { mysong.stop() Stop(); } 预览 单击停止按钮,停止声音
Flash CS4 编辑音频
图标
名称
功能
停止声音
终止播放
播放声音
测试效果
放大
放大窗口内音频的显示
缩小
缩小窗口内音频的显示
秒
时间线以秒为单位进行显示
帧
时间线以帧为单位进行显示
提示
包络线表示声音播放时的音量。最多可以创建8个控制柄。如果要删除控制柄,可以将其拖CS4中,使用【编辑封套】对话框可以对基本的声音进行控制,如定义声音的播放起点、声音的大小以及声音的长短等。
打开【编辑封套】对话框,在音频时间线上,拖动起点和终点游标,可以改变音频的起点和终点。
如果要改变音频的幅度,可以单击幅度包络线来创建控制柄,然后拖动幅度包络线上的控制柄,即可改变音频上不同点的高度。
FLASH CS4 制作音频播放器
FLASH CS4 制作音频播放器在制作音频播放器时,可以通过外部XML文件载入音乐的名称和地址。
然后再将名称添加到动态生成的组件中,并为其添加事件,实现鼠标单击播放。
另外,还可以通过自定义的各种按钮控制音乐的播放、停止、暂停以及播放上一首和播放下一首等,如图14-12所示。
图14-12 音频播放器设计过程:1.设计界面与列表(1)新建main.fla文件,设置影片背景颜色为“黑色”,并导入播放器背景的素材图像,如图14-13所示。
图14-13 导入背景图像(2)制作各种播放器的按钮,以及音量滑块和播放进度条,如图14-14所示。
音频播放器的按钮主要包括跳转上一首歌(下一首歌(暂停(启声音(列表等按钮。
(3)新建“playlist”元件,根据素材图像制作播放列表的背景,如图14-15所示。
图14-15 制作播放列表背景(4)用记事本新建xml文件,并编写歌曲列表。
其代码如下:<?xml version="1.0" encoding="utf-8"?><listroot><track symbol="0" att="mp3" name="01 下弦月" url="mp3/Track 01.mp3" /><track symbol="1" att="mp3" name="02 七月里的冬天" url="mp3/Track 02.mp3" /><!--……--><track symbol="14" att="mp3" name="15 月亮" url="mp3/Track 15.mp3" /></listroot>2.加载xml列表(1)新建script.as文件,将其保存在影片目录下的action文件夹中。
Flash制作课件时如何用Sound对象控制播放的音乐4页
Flash制作课件时如何用Sound对象控制播放的音乐我们在用flash制作课件时,常常需要往其中加入声音,而在加入声音时,最常用也最为简单的方法是采用Stream方式,即直接把声音加入到播放帧中,但用这种方法把声音加入到动画中,不容易控制播放,如:我要即时地控制声音的播放或暂停,使用这种方法是无法解决的。
如何解决这个问题呢?方法当然是有的,用flash的脚本程序中的Sound对象能很好地解决这种问题。
一、声音对象概述使用声音对象可以设置和控制特定电影剪辑实例中的声音。
如果在创建新的声音对象时没有指定目标,还可以控制整个时间轴的声音。
二、创建声音对象语法格式如下:new Sound();new Sound(target);参数target用于指定目标电影剪辑。
如果没有指定target参数,则创建的声音对象将控制全局时间轴中所有的声音。
在下面的两个语句中,第一个语句创建了一个全局声音对象,第二个语句则为指定的电影剪辑创建声音对象:GlobalSound=new Sound();MovieSound=new Sound(mymovie);三、常用声音对象的方法attachSound 把指定的声音连接到指定的声音实例start 开始播放声音stop 停止播放声音setVolume 设置指定声音对象的音量getVolume 返回声音对象的音量大小(0-100)setPan 设置声音对象的左右声道平衡getPan 返回声音的均衡值(-100到100)四、Sound对象应用实例怎样用ActionScript脚本的Sound对象实现声音的播放和暂停?请先把你的声音导入到flash库中:1.在库中右键单击你导入的声音,在弹出的快捷菜单中选择链接子项,然后在弹出链接属性对话框一栏中勾选为ActionScript导出(X)前面的复选框,这时在第一帧导出前面的复选框也会被同时选中,然后在标志符中给你的声音文件命名如“mymusic”(在这里我们不要把声音拖入到场景中去)。
Flash CS4 控制播放进度
Flash CS4 控制播放进度大部分的视频或音频播放器都会提供播放进度条,以告诉用户当前播放的进度。
另外,播放进度条还允许用户左右拖拽,以改变视频播放的位置。
在ActionScript 3.0中,如果想要读取视频播放的进度,首先需要读取视频已播放的时间和总时间。
最后,将视频已播放的时间除以视频总时间,即可计算出视频播放进度的比例,并可根据该值调整进度条位置。
1.读取视频已播放时间在ActionScript 3.0中,NetStream类提供了一个time属性,用于获取当前视频播放的时间,以秒为单位。
var currentLen:Number = NetStream.time;time属性通常会精确到小数点后3位,也就是精确到毫秒。
因此,如果需要显示整数的秒数,用户可使用Math类的3种方法将time属性值取整,包括Math.round()、Math.floor()而不能通过设置time属性的值更改视频的播放进度。
2.读取视频总播放时间在ActionScript 3.0中,并没有直接提供读取视频总播放时间的属性或方法。
因此,想要知道视频的总时间,就需要通过NetStream类读取视频的元数据。
首先,创建一个空对象作为回调onMetaData事件函数的主体。
var ClientObject:Object=new Object();然后,通过空对象调度onMetaData事件函数,以onMetaData事件函数的参数作为对象,调用duration属性,该属性包含FLV文件的持续时间。
ClientObject.onMetaData=function (XMPKey:Object):void{trace(XMPKey.duration);}最后,为NetStream类的client属性赋予空对象的值。
NetStream.client=ClientObject;在上面的代码中,各个参数的含义如下所示。
●ClientObject 回调onMetaData()事件函数的空对象。
关于控制FLASH中的声音播放,很有用的
关于控制FLASH中的声音播放,很有用的一般我们控制声音的播放、暂停都是先把导入声音定义为stream的方式来实现的。
这里介绍一下用Sound对象来实现的方法:1、导入声音文件,例子中用Windows 中的“Windows Logon Sound.wav”2、打开library右键点导入的声音,选Linkage,在对话框中勾上Export for ActionScript,其他可以照默认的不用改。
3、在第一帧写如下AS:song=new Sound(); //定义一个名为song的声音对象song.attachSound("Windows Logon Sound.wav");//绑定声音对象为Windows Logon Sound.wav,此处引号内就是在2中对话框中设置的Identifier。
play_status = false;//用于检测是否在播放中,防止重复播放song.onSoundComplete = function() { //播放结束则触发的事件sp = 0; play_status = false; }; 4、建立3个BT:start、pause和stop 以控制播放、暂停。
5、start的AS:on (release) { if (play_status == false) { //如果没有开始播放song.start(sp); //播放声音,开始时变量sp没有赋值,默认从头开始放,如果已经赋值,则按相应值播放,单位秒。
play_status = true; //播放状态为真} } 6、pause的AS:on (release) { if (play_status == true){ sp = song.position/1000;//在停止前获取当前播放的位置,单位是毫秒song.stop(); play_status = false; } } 7、stop的AS:on (release) { if (play_status == true){ sp = 0; song.stop(); play_status = false; } }。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash CS4 控制声音播放
在开始加载声音文件后,为Sound对象调用play()方法可以播放加载的声音。
play()方法的基本形式如下。
sound.play(startTime,loops,sndTransform);
play()方法可以接受以上3个可选参数,其详细介绍如下所示。
●startTime 播放声音的起始位置(以毫秒为单位)。
●loops 定义在声道停止播放之前,声音循环回startTime值的次数。
该参数的最小值为0,即播放一次。
如
果传递的值为负数,仍然播放一次。
●sndTransform 分配给该声道的初始SoundTransform对象。
play()方法返回一个SoundChannel对象,用于控制一种声音的播放。
可以将该对象的position属
例如,加载外部的music.mp3文件,并侦听该声音文件的加载完成事件。
当加载完成时,调用onComplete()函数以开始播放声音。
import flash.events.Event;
import flash.media.Sound;
import .URLRequest;
var sound:Sound = new Sound();
var req:URLRequest = new URLRequest("music.mp3");
sound.load(req);
sound.addEventListener(PLETE, onLoadComplete);
function onLoadComplete(event:Event):void{
sound.play();
}
如果想要停止加载声音,可以使用Sound对象的close()方法。
该方法关闭声音流,从而停止所有数据的下载。
close()方法的基本形式如下所示。
sound.close();。