免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

AS3技巧集:5.声音的控制--播放与停止

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第3559个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
【问题描述】:
在AS2时代,用代码载入的音乐,在控制其停止播放时,仅需调用声音对象的stop()方法即可。
但在AS3内,我们“欣喜”的发现,stop()方法不翼而飞。
【解决方案】:
原来,AS3新增了一个SoundChannel类用于管理声音,本话就来讨论这个类的用法。


一、将声音导入库中
如果导入的时候出现提示“一个或多个文件没有导入”,请参看这里:
http://jingyan.baidu.com/article/49ad8bce6c3d2b5834d8fa0a.html
二、给库内的声音设置一个标识符


如图,在“AS链接”所在列的当前行那里直接双击,可以输入文字。输入的文字就是标识符了
假设,标识符为yinyue
【注:标识符的简易设置方法(截图所示)是从flashCS4才有的功能,你的flash版本号如果太低,需要使用其他手段来设置标识符。】
三、用代码控制声音的播放:


【1】控制声音播放的代码:
  1. var msc:Sound=new yinyue();
  2. msc.play();
复制
解释:
第一行代码定义了一个名为msc的Sound声音文件,并将其实例化(链接自库内标识符为yinyue的元件)
第二行代码是让这个声音播放的(AS2用的是start方法,与AS3有很大的不同哦)
拓展:
声音的play()方法有两个参数,第一个是从多少毫秒开始播放(不设置的话,就是从0毫秒开始播放),第二个是播放多少遍(不设置的话,仅播放一遍)
比如:play(10000,5)就是将这个声音从10000ms(也就是10s)处开始播放,播放结束后再从10s处播放第二遍,一直重复5次才结束哦




【2】在舞台上放置一个实例名为btn的按钮,单击该按钮时,让声音停止播放的完整代码:
  1. var msc:Sound=new yinyue();
  2. var sdcn:SoundChannel=new SoundChannel();
  3. sdcn=msc.play();
  4. btn.addEventListener(MouseEvent.CLICK,dj);
  5. function dj(e:MouseEvent){
  6. sdcn.stop();
  7. }
复制
解释:必须定义一个SoundChannel类型的变量,这里设为sdcn(代码第二行)
声音播放时,必须将播放的代码赋值给这个sdcn变量(代码第三行)
那么,停止播放时,方可使用sdcn变量的stop()方法(代码倒数第二行)
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

访问时间:2020-03-10 12:19
蓝精灵
访问时间:2020-02-23 01:32
迷彩不流泪
访问时间:2020-02-22 21:20
flashroad
访问时间:2020-02-13 07:59
虚心
访问时间:2019-04-21 19:17
网雨霏霏
访问时间:2019-03-17 22:18

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页