每天学一点AS3.0(一)---声音的控制

   今天突然间发现,自己荒废了好久的Flash了,今天开始慢慢的复习并进一步学习一下,今天开始关于声音的学习。

1,加载库中的声音
   文件--》导入---》导入到库
2,加载本地的声音
   在第一帧处写代码:
ExpandedBlockStart.gif代码

   // URLRequest类是用来制定要加载的地址,此时的地址是本地地址
   var url:URLRequest = new  URLRequest( string  url);
   
// 声明一个声音对象
   var sound:Sound = new  Sound();
   
// 通过load方法把url加载的声音加载到Sound对象里面
   sound.load(url);
   
// 播放
   sound.play();

 

3,加载远程的声音
   在第一帧处写代码:  

ExpandedBlockStart.gif 代码
// URLRequest类是用来制定要加载的地址,此时的url为http地址
   var url:URLRequest = new  URLRequest( string  url);
   
// 声明一个声音对象
   var sound:Sound = new  Sound();
   
// 通过load方法把url加载的声音加载到Sound对象里面
   sound.load(url);
   
// 播放
   sound.play();

 

4,加载进度

首先,要知道进度是如何计算的。
   公式:进度=已经加载过的字节/总共的字节数
   那么现在我们就要知道已经加载的自己怎么获得,总共的字节数怎么获得
   1,通过sound的属性来获得
      sound.bytesLoaded:获得已经加载的字节数
      sound.bytesTotal:获得总共的字节数
   2, 添加一个新层命名为“显示进度”,在第一帧处添加一个动态文本命名为jd_txt
   3,在as层的第一帧处写代码:

 

ExpandedBlockStart.gif 代码
// URLRequest类是用来制定要加载的地址,此时的url为http地址
var url:URLRequest = new  URLRequest( " http://121.28.24.122/blog/eb/upload/audio1/20090422/hahaxiao_1240364607390.mp3 " );
 
// 声明一个声音对象
var sound:Sound = new  Sound();
// 通过load方法把url加载的声音加载到Sound对象里面
sound.load(url);
// 给声音对象添加加载中事件
sound.addEventListener(ProgressEvent.PROGRESS,jz);
 
// 给声音对象添加加载完成后的事件
function jz(e){
    var jd:Number
= Math.round((sound.bytesLoaded / sound.bytesTotal) * 100 );
    jd_txt.text
= " 加载 " + jd + " % " ;
}

 

测试影片,效果如下:

知识点:

1,对于Sound对象存在方法,属性和事件,对于方法和属性就不需要过多的解释,最重要的是事件

对于Sound对象的事件如下:

上面的表格就显示了Sound对象的5个事件,最为常用的事件有complete,ioError,progress个事件

上面的列子中,我们用到的是progress事件,通过Sound对象的addEventListener方法添加事件,参数有两个,

一个是ProgressEvent.PROGRESS,一个是jz,第一个参数是事件类型,第二个是事件执行函数。

在定义jz函数的时候,注意要有一个参数e,这个e就是产生事件的相关信息,这个函数可以有两个写法:

 

function jz(e){
    ....
}
// 或者
function jz(Event:ProgressEvent){
    ....
}

 

使用哪一个都一样的。

今天到此结束,下一会,我们添加一个进度条!

 

转载于:https://www.cnblogs.com/symjie520/archive/2010/05/02/1725993.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值