AS3.0脚本声音的调用及简单控制

上传人:飞*** 文档编号:50959032 上传时间:2018-08-11 格式:PDF 页数:8 大小:12.38KB
返回 下载 相关 举报
AS3.0脚本声音的调用及简单控制_第1页
第1页 / 共8页
AS3.0脚本声音的调用及简单控制_第2页
第2页 / 共8页
AS3.0脚本声音的调用及简单控制_第3页
第3页 / 共8页
AS3.0脚本声音的调用及简单控制_第4页
第4页 / 共8页
AS3.0脚本声音的调用及简单控制_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《AS3.0脚本声音的调用及简单控制》由会员分享,可在线阅读,更多相关《AS3.0脚本声音的调用及简单控制(8页珍藏版)》请在金锄头文库上搜索。

1、AS3.0脚本声音的调用及简单控制一, Sound 类Sound 类允许您在应用程序中使用声音。使用Sound 类可以创建新的Sound 对象、将外部MP3 文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据。Flash9.0 软件对声音的编辑和调用分为四种:(1)将音乐导入舞台的时间轴上。 (2)从库中调用声音。 (3)网络中调用音乐。 (4)电脑硬盘中调用音乐。将音乐导入到舞台时间轴控制音乐,想必大家都已非常的熟悉。从库中、网络中和电脑硬盘中调用音乐既有相似之处,但也有一定得区别。在这里我们先介绍从库中调用音乐,从电脑硬盘中调用音乐,以及从网络中调用音乐。1, 从库中调用打来

2、Flash9.0 软件,导入一首音乐到库中,右键链接,链接名:Snd。在场景的第一帧,打开动作面板,输入语句:varsy:snd=new snd(); sy.play(); 测试影片,音乐即可播放2,从电脑硬盘中调入vardizhi:URLRequest=new URLRequest(“jijiao.mp3“); varshengyin:Sound=new Sound(); shengyin.load(dizhi); shengyin.play(); varshengyin:URLRequest=new URLRequest(“E:/音乐 /回家 .mp3“); varshengyin:Sou

3、nd=new Sound(urlMus); snd.play(); 测试影片,电脑中的音乐也可播放3,从网络中调入音乐varurlMus:URLRequest=new URLRequest(“ http:/ varsnd:Sound=new Sound(urlMus); snd.play(); 测试影片前,点发布设置,把Falsh中的本地回放安全性设置成只访问网络,网络中的音乐就可以播放了。测试时我们会发现,音乐只播放一次, 而且音乐播放时是从起始位置开始播放的。是否可以让音乐重复多次播放,或者是从某一起始位置开始播放。解决办法:修改语句:snd.play()为:snd.play(5500,2

4、00); 我们在play()小括号里面加上两个参数,5500 表示播放的起始位置,它是以毫秒为单位,即5.5 秒。 200 表示循环播放的次数。以上只是调用声音的播放,我们如何控制音乐的停止呢?下面我们引入一个新的类,SoundChannel 类二, SoundChannel 类SoundChannel 类 (声音通道类) , SoundChannel 类主要用来控制应用程序中的声音,它包含如下属性、 事件和方法。SoundChannel 类属性:leftPeak:左声道的当前幅度(音量),范围从0(静音)至1(最大幅度) 。rightPeak:右声道的当前幅度(音量),范围从0(静音)至1(

5、最大幅度) 。position: 该声音中播放头的当前位置。soundTransform 分配给该声道的SoundTransform 对象。SoundChannel 类方法stop() 停止在该声道中播放声音。SoundChannel 类事件soundCompele 在声音完成播放后调度. ( 一 ) SoundChannel 类中的stop 方法1, 让声音停止 练习2 新建两个按钮元件,播放和控制按钮并分别为播放按钮添加实例名为:bf_btn 停止按钮添加实例名为:tz_btn 打开动作面板输入语句:varsnd:Sound=new yy();/ 申明变量从库中调用yy varchl:So

6、undChannel;/ 申明变量chl 声音通道类bf_btn.addEventListener(MouseEvent.CLICK,bf);/ 播放按钮添加事件侦听function bf(evt:MouseEvent):void /申明函数函数名为bf chl=snd.play(0,100);/ 声音播放起始位置0 重复播放100 次 tz_btn.addEventListener(MouseEvent.CLICK,tz);/ 停止按钮添加事件侦听function tz(evt:MouseEvent):void /申明函数函数名为tz chl.stop();/ 声音停止 2, SoundCh

7、annel 里可以播放多首音乐,练习3 小实例:打开素材1,在按钮图层拖入三个按钮,分别取实例名:ge1_btn,ge2_btn,tz_btn. 导入两首音乐,右键链接,链接名: YySy输入语句:xy_mc.visible =false;/ 下雨的影片剪辑为不可见xue_mc.visible =false;/ 下雪的影片剪辑为不可见varsond:Sound=new Xy();/ 申明声音变量链接Xy varsnd:Sound=new Xx();/ 申明声音变量链接Xx varchl:SoundChannel=new SoundChannel();/ 实例 chl 变量创建声道ge1_btn

8、.addEventListener(MouseEvent.CLICK,ge1); / 给歌曲1 按钮添加侦听ge2_btn.addEventListener(MouseEvent.CLICK,ge2);/ 给歌曲2 按钮添加侦听tz_btn.addEventListener(MouseEvent.CLICK,tz);/ 给停止按钮添加侦听function ge1(e:MouseEvent ):void /申明函数函数名为ge1 chl.stop();/ 音乐停止chl=sond.play(0,200);/ 下雨的音乐从0 秒开始播放,播放200 次,xy_mc.visible =true;/

9、下雨的影片剪辑为可见xue_mc.visible =false;/ 下雪的影片剪辑为不可见ge1_btn.removeEventListener(MouseEvent.CLICK,ge1); / 移除歌曲1 按钮的侦听ge2_btn.addEventListener(MouseEvent.CLICK,ge2); / 添加歌曲2 按钮的侦听 function ge2(e:MouseEvent ):void chl.stop(); xy_mc.visible =false; xue_mc.visible =true; chl=snd.play(0,200); ge2_btn.removeEvent

10、Listener(MouseEvent.CLICK,ge2); ge1_btn.addEventListener(MouseEvent.CLICK,ge1); functiontz(e:MouseEvent ):void chl.stop();xy_mc.visible =false; xue_mc.visible =false; ge1_btn.addEventListener(MouseEvent.CLICK,ge1); ge2_btn.addEventListener(MouseEvent.CLICK,ge2); 我们在测试时会发现,上面的几个练习在每一次音乐停止之后再播放,音乐都是从开

11、始位置播放。我们能否再添加一个按钮控制声音停止后从当前位置开始播放,即控制音乐的暂停。如何控制音乐的播放暂停和停止?( 二 ) SoundChannel 类的position 属性我们来学习SoundChannel 类里面的position 属性:获取声音播放头的当前位置。同时我们再学习一下SoundChannel 类中的 soundCompele 事件即在声音完成播放后如何的调用音乐。(1) ,练习4 修改练习2,添加一暂停按钮并在主场景中输入实例名为zt_btn 将语句修改如下:varsnd:Sound=new yy();/ 申明变量snd 从库中调用yy varchl:SoundChan

12、nel=new SoundChannel();/ 创建 chl 变量为 SoundChannel(声音通道)类型varpos:Number=0;/ 申明变量pos 初始值为0 用来获取position 的位置bf_btn.addEventListener(MouseEvent.CLICK,bf);/ 为播放按钮添加侦听事件function bf(evt:MouseEvent):void /申明函数函数名为bf pos=chl.position;/pos变量获取声音播放的当前位置chl.stop();/ 声音停止chl=snd.play(pos);/ 声音从 pos 获取的当前位置开始播放chl

13、.addEventListener(Event.SOUND_COMPLETE,comp);/ chl 变量添加事件侦听当声音完成是调用comp 函数 zt_btn.addEventListener(MouseEvent.CLICK,zt);/ 暂停按钮添加事件侦听function zt(evt:MouseEvent):void /申明函数函数名为zt pos=chl.position;/pos变量获取声音播放的当前位置chl.stop();/ 声音停止 tz_btn.addEventListener(MouseEvent.CLICK,tz);/ 停止按钮添加事件侦听function tz(ev

14、t:MouseEvent):void /申明函数函数名为tz pos=0;/pos 变量返回初始值0 chl.stop();/ 声音停止 function comp(evt:MouseEvent):void /申明函数函数名为comp 声音完成时调用pos=0;/pos 返回初始值chl.stop();/ 声音停止 以上脚本虽然可以控制声音的播放暂停和停止,但是停止按钮只有在声音播放时才起作用,也就是说当音乐播放时,当我们点击暂停按钮后,再点击停止按钮时,音乐并不从头开始播放,而是从暂停时的位置开始播放。为了是脚本更严密,我们引入 oolean 变量,将脚本修改如下:(2)练习5 输入语句:v

15、arsnd:Sound=new yy();/ 申明声音变量链接yy var B:Boolean;/ 申明一个布尔值变量varchl:SoundChannel=new SoundChannel();/ 创建 chl 变量声音转换类型varpos:Number=0;/ 申明 pos 变量初始值为0 bf_btn.addEventListener(MouseEvent.CLICK,bf);/ 播放按钮添加事件侦听function bf(evt:MouseEvent):void /申明函数函数名为bf if (B=false) / 布尔值为false 时chl=snd.play(pos);/ 声音从

16、pos 变量获取的当前位置开始播放chl.addEventListener(Event.SOUND_COMPLETE,comp);/ 当声音完成时调用comp 函数B=!B;/ 布尔值取反 zt_btn.addEventListener(MouseEvent.CLICK,zt);/ 暂停按钮添加事件侦听function zt(evt:MouseEvent):void /申明函数函数名为yzt pos=chl.position;/pos变量获取播放头的当前位置chl.stop();/ 声音停止B=false;/ 布尔值为false tz_btn.addEventListener(MouseEvent.CLICK,tz);/ 停止按钮添加事件侦听function tz(evt:MouseEvent):void /申明函数函数名为ytz

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号