Flash中的声音控制(as2.0)
- 格式:doc
- 大小:51.50 KB
- 文档页数:6
一、在时间轴中使用声音这是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动画制作中声音控制的方法和技巧作者:王红娟来源:《河南农业·综合版》 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();}。
实例2-2声音控制(1)基本思路①建立一个可由AS 控制声音对象。
②将库中指定的声音附加到这个对象上。
③制作一个有放音和消音图标的MC 。
④开始为自动播放,并有放音图标显示。
⑤第一次点击MC 后,显示静音图标,存储当前音量值,同时音量设为0 。
⑥再次点击,显示放音图标,并为声音对象设置已存储的音量值。
(2)新知识点mySound=new Sound();// 新建一个声音对象,我们这里对象的名称是”sheng” 。
mySound.attachSound(); 从库中加载声音。
mySound.getBytesLoaded(); 获取声音载入的字节数。
mySound.getBytesTotal(); 获取声音的总字节数。
mySound.start(); 开始播放声音。
括号中若填制整数值,即从声音播放后的这一秒开始播放。
mySound.stop(); 停止声音的播放。
mySound.getVolume(); 获取当前的音量大小( 范围从0-100) 。
mySound.setVolume(); 设置当前音乐的音量( 范围从0-100) 。
mySound.duration; 声音的长度。
( 单位为毫秒,1000 毫秒=1 秒)mySound.position; 声音已播放的毫秒数。
( 单位为毫秒)(3)实例说明①第一帧插入一个有补间动作的MC“摇椅”。
②导入到库一声音文件,右击该文件,选菜单【链接】,在出现的对话框中进行设置,如图2-1 :图2-1 链接属性面扳其中的【标识符】即为对象命名,这样程序才能识别和控制,和前面课程讲的为MC注册实例名及duplicateMovieClip 后的MC名同理;【链接】中选中“为动作脚本导出”和“在第一帧导出”,前者是确定要接受动作脚本控制,后者是确定要在生成SWF文件时被导出。
③制作一命名“控制”的有喇叭放音和消音图标的MC ,在第一帧初始化,第2 帧停止。
(4)编写动作脚本①在MC “控制” 第1 帧输入:i = 0;this.lb2._visible = 0;②在MC “控制” 第2 帧输入:stop();③主时间轴第 1 帧输入:sheng = new Sound();// 构建一个Sound 对象“ sheng ”sheng.attachSound("ge");// 将库中的声音文件”ge” 加载到声音对象上sheng.start(3);// 令声音从第3秒开始播放④最后一帧输入:if (sheng.position == sheng.duration) {// 条件为已播放长度等于声音总长度sheng.start(3);// 从第3 秒重新播放}gotoAndPlay(2);⑤在MC “控制” 上输入:on (release) {if (i == 0) {n = _root.sheng.getVolume();// 获取当前的音量值并赋值给变量n_root.sheng.setVolume(0);// 设置Sound 对象的音量为0this.lb1._visible = 0;this.lb2._visible = 1;i = 1;} else {_root.sheng.setVolume(n);// 设置Sound 对象的音量为nthis.lb1._visible = 1;this.lb2._visible = 0;i = 0;}}(5)小结本讲介绍了Sound 类的常用的方法,更多的内容可在帮助文件里查看到,静音是让音量降到0 ,而不是停止,恢复播放只是要恢复原来的音量,而播放的进度还是不改变的,这节是在MC 上用on() 事件处理函数实现了和按钮相同的控制效果,MC 上使用on() 可更灵活多样,MC 内部可以嵌套MC ,并可以加写动作脚本。
本例为Flash AS2代码入门系列教程,在上一课中我们了解了在AS2代码中如何表现日期与时间,今天我们学习使用声音的第一节,Sound类的运用,希望能给对编程感兴趣的朋友带来帮助~~使用声音Sound类提供了对声音的操作,要使用Sound类必须使用new 新建一个Sound 实例:var mysound:Sound = new Sound();有了Sound实例,就可以使用Sound类的方法来操作声音了。
1.从库中导入声音到舞台。
我们可以将声音素材导入到库中,然后在运行时将它加载到舞台上,这样做灵活性比较大,也比较好控制。
将声音导入到库中后,对它进行一些设置,以便更好地应用。
首先在库中声音无件上,点右键>属性,在属性面板中选择声音格式为mp3,并将使用导入时品质前的钩去掉,这样声音的体积将大地降低。
回到库中,在声音元件上点右键>连接,在连接面板中,将“为ActionSpript 运行时导出“前打钩,在标识符栏中为声音取一个标识符。
这同MC一样。
attachSound()方法:将库中的声音加载到舞台上。
用法:Sound实例. attachSound(标识符);start()方法:声音开始播放。
用法:start(开始的秒数,循环次数);如果没有参数,则从开头播放1次。
声音还有个事件:onSoundComplete,这个事件是在声音结束播放时调用。
很常见的一个用法,比如说话,没说话时嘴不动,话说完后嘴也不动,我就可以在声音结束时,让嘴停止,用这个事件就很方便了。
到目前为止我们已经能够将库中的声音加载到舞台上并让它播放了。
点击下面的小丑他就会开口说话了:代码:var sy:Sound = new Sound();xc_mc.stop();xc_mc.onRelease = function(){sy.attachSound("dsm");sy.start();xc_mc.play();}sy.onSoundComplete = function(){xc_mc.stop();}声音开始播放后,你后悔了,烦它,就想让它停下来,那么请用:stop()方法:使声音停止播放。
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从而控制声音的开关.。
1.play();播放影片2.stop();停止影片播放3.on(release){ play(); } 当按下鼠标并释放时,播放影片press点击、按下鼠标4.on(press){ gotoAndStop(10) ;} 当按下鼠标时,跳转到当前场景第10帧并停止影片播放on(press){ gotoAndPlay(10) ;} 当按下鼠标时,跳转到当前场景第10帧并播放影片on(press){ gotoAndPlay(“场景名”,10) ;} 指定场景gotoAndPlay(10) ; 跳转到当前场景第10帧并播放影片播放gotoAndStop(10) ; 跳转到当前场景第10帧并停止影片播放5.nextScene();跳转到下一个场景并停止播放;prevScene();跳转到上一个场景并停止播放;nextFrame();跳转到下一个帧并停止播放;prevFrame();跳转到上一个帧并停止播放;6.stopAllSounds();停止播放所有声音7.getURL("", "_blank");打开新的空白网页中网址;_self当前网页8.fscommand("fullscreen", "true"); 自动全屏on(release){fscommand("quit", "true");}单击按钮退出影片播放Ctrl+Enter测试影片;F9打开动作面板;F8打开转换元件对话框;F7插入空白关键帧F6插入关键帧;F5插入普通帧;元件类型:图形元件、按钮元件、影片剪辑元件文本框类型:静态文本、动态文本、输入文本按钮包括4帧:弹起、鼠标经过、按下、点击。
外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0); eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1"); mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true); mySound.start(0,100)关闭音乐mySound.stop();链接场景:on (release) {gotoAndStop("猫的历史",1);}外部调用on (release) {loadmovienum("a.swf",1)}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能。
Flash中的声音控制(as2.0)前面讲过两种应用声音的控制方法,一种是导入时间轴,用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动画时,这个属性经常会被用到。
比如制作MP3播放器,如果制作一个控制音乐播放进度的滑块,那么就可以用这个属性来实现相应的算法。
(注意:在操作时要注意字母的大小写)二、利用影片剪辑来控制声音(一)导入声音素材点击【文件】|【导入】|【导入到库】菜单命令,在弹出的【导入到库】对话框中,找到你要导入的声音文件,选中后点击打开按钮,将声音导入到库。
(三)制作声音影片剪辑元件:(1)点击【插入】|【新建元件】菜单命令,在弹出的新建元件对话中,名称输入“声音”、行为选【影片剪辑】,确定。
(2)选中“图层1”的第1帧,打开属性面板,在声音设置的对话框中,选择你导入的声音件,并在同步选项中选择数据流,如图1所示。
图1(3)把声音文件在时间轴上展开。
(4)回到场景,把“声音”影片剪辑元件提到舞台,此时声音影片剪辑元件在舞台只看到一个注册点,用黑箭头工具点击注册点,(选中声音元件)打开属性面板,在属性面板中输入实例名“yinyue”,如图2所示。
图2(四)制作声音控制元件(1)点击【插入】|【新建元件】菜单命令,在弹出的新建元件对话中,名称输入“播放和暂停”、行为选【影片剪辑】,确定。
(2)把“图层1”命名为“按钮”,在此图层的第1帧中,执行【窗口】|【其它面板】|【公共库】|【按钮】菜单命令。
提进一个按钮,用来控制“播放”。
(3)给播放按钮添加命令:on (release) {gotoAndStop(3);_root.yinyue.play();}(4)在按钮图层的第3帧中插入空白关键帧,在此空白关键帧中,执行【窗口】|【其它面板】|【公共库】|【按钮】菜单命令。
提进一个按钮,用来控制“暂停”,并在第4帧中按F5插入普通帧。
(5)给暂停按钮添加命令:on (release) {gotoAndStop(1);_root.yinyue.stop();}(5)添加图层二,命名为“AS”在“AS”图层的第2帧和第4帧分别输入命令:stop();此时的时间轴面板如图3所示:图3(五)场景组装(1)回到场景,从库里把“播放和暂停”元件提进舞台,放到适当的位置。
选中“播放和暂停”元件,打开属性面板,在属性面板中输入实例名“yinyue”,如图4所示。
图4(2)在公用库中提入一个按钮用来控制“停止”,点击“停止”按钮,打开动作面板,添加命令:on (release) {_root.yinyue.gotoAndStop(1);_root.play.gotoAndStop(1);}(3)添加图层二,在“图层二”的第1帧输入命令:_root.yinyue.stop();(六)测试影片并保存。
这部分内容可参考:/Article/ShowArticle.asp?ArticleID=3863音乐的重复播放1、首先,将音乐导入库。
然后,在库中右击音乐文件——链接,勾选“为动作脚本导出”和“在第一帧导出”复选项,在设置标识符为“aaa”。
2、在时间AS层写下如下代码:mymusic= new Sound()mymusic.attachSound("aaa")mymusic.onSoundComplete = function() {mymusic.start() } /*声音播放完毕时自动调用的事件,这样,当声音播放完毕后自动执行mymusic.start(),使声音不断播放。
如果声音播放时被代码停止(mymusic.stop() ),声音是不会重复播放的。
*/ mymusic.play() //使声音在动画开始时播放var soundkey=1 //定义变量soundkey,监视声音播放情况。
3、在主场景中拖入一个按钮,在按钮上写下如下代码:on(release){soundkey=-soundkey//使变量值为原值相反数if(soundkey==1){mymusic.stop()mymusic.start()} /*如果soundkey值为正,则播放声音,mymusic.stop()使声音停止后再播,以免声音产生叠加,影响效果*/if(soundkey==-1){mymusic.stop()} //如果soundkey值为负,则声音停止}至此完成,按ctrl+enter测试。
音乐的重复播放1、首先,将音乐导入库。
然后,在库中右击音乐文件——链接,勾选“为动作脚本导出”和“在第一帧导出”复选项,在设置标识符为“aaa”。
2、在主场景中拖入一个按钮,将按钮命名为bofang_btn。
3、在时间AS层写下如下代码:mymusic= new Sound()mymusic.attachSound("aaa")mymusic.onSoundComplete = function() {mymusic.start() } /*声音播放完毕时自动调用的事件,这样,当声音播放完毕后自动执行mymusic.start(),使声音不断播放。
如果声音播放时被代码停止(mymusic.stop() ),声音是不会重复播放的。
*/ mymusic.play() //使声音在动画开始时播放var soundkey=1 //定义变量soundkey,监视声音播放情况。
bofang_btn.onPress=function(){soundkey=-soundkey//使变量值为原值相反数if(soundkey==1){mymusic.stop()mymusic.start()} /*如果soundkey值为正,则播放声音,mymusic.stop()使声音停止后再播,以免声音产生叠加,影响效果*/if(soundkey==-1){mymusic.stop()} //如果soundkey值为负,则声音停止}//至此完成,按ctrl+enter测试。
音乐的播放与暂停1、首先,将音乐导入库。
然后,在库中右击音乐文件——链接,勾选“为动作脚本导出”和“在第一帧导出”复选项,在设置标识符为“aaa”。
2、在主场景中拖入两个按钮,将两个按钮分别命名为bofang_btn和tingzhi_btn。
3、在时间轴面板的AS层写下如下代码:var mymusic=new Sound();mymusic.attachSound("aaa");bofang_btn.onPress=function(){var t=mymusic.position/1000;mymusic.stop();mymusic.start(t);}tingzhi_btn.onPress=function(){mymusic.stop();}//至此完成,按ctrl+enter 测试。
代码第五行,加入了mymusic.stop(); 如果不加这句,那么连续点击播放按钮,音乐的音量会不断增大。
对于下面这段代码bofang_btn.onPress=function(){var t=mymusic.position/1000;mymusic.stop();mymusic.start(t);我的理解是,当点击bofang_btn按钮时,开始获取音乐播放的位置,并赋值给变量t,然后停止前一个声音,从t处开始播放。
播放、暂停、停止三个按钮控制音乐播放1、首先,将音乐导入库。
然后,在库中右击音乐文件——链接,勾选“为动作脚本导出”和“在第一帧导出”复选项,在设置标识符为“aaa”。
2、在主场景中拖入三个按钮,将三个按钮分别命名为play_btn、pause_btn、stop_btn。
3、在时间轴面板插入图层命名为“AS”层,在“AS”层写下如下代码:var mymusic=new Sound;mymusic.attachSound("aaa");play_btn.onPress=function(){mymusic.stop();mymusic.start(t);}pause_btn.onPress=function(){mymusic.stop();t=mymusic.position/1000;}stop_btn.onPress=function(){mymusic.stop();t=0;}//至此完成,按ctrl+enter测试。
播放、暂停、停止三个按钮控制音乐播放(播放、暂停按钮合二为一)1、首先,将音乐导入库。
然后,在库中右击音乐文件——链接,勾选“为动作脚本导出”和“在第一帧导出”复选项,在设置标识符为“moonlight shadow.mp3”。
2、从公用库中拖入两个个按钮到主场景中,将两个按钮分别命名为play_btn、stop_btn,锁定该图层。
3、新建一个图层,从公用库中拖入一个按钮,将这个按钮命名为pause_btn,并把它拖放到play_btn的位置。
3、在时间轴面板插入图层命名为“AS”层,在“AS”层写下如下代码:var mymusic=new Sound();//创建一个新的声音对象mymusicmymusic.attachSound("moonlight shadow.mp3");//将声音对象myumusic与库中的音乐moonlight shadow.mp3进行链接pause_btn._visible=false;//隐藏暂停按钮play_btn.onPress=function(){//当点击play_btn按钮时,执行大括号内的命令mymusic.start(t);//从t处开始播放pause_btn._visible=true;//显示暂停按钮play_btn._visible=false;//隐藏播放按钮}pause_btn.onPress=function(){t=mymusic.position/1000;//获取音乐播放的位置并赋值给变量tmymusic.stop();//停止播放pause_btn._visible=false;play_btn._visible=true;}stop_btn.onPress=function(){mymusic.stop();t=0;//清除变量play_btn._visible=true;pause_btn._visible=false;}//至此完成,按ctrl+enter测试。