AS3声音类概要

一个声音类的 结构关系图,作为主要学习路线。

类 构造关系图
1.JPG

2007-10-20 19:00:55 上传
下载附件(18.09 KB)


建议你首先阅读一下帮助文件中“处理声音”一栏,对声音处理有个初步的了解。
Sound类SoundChannel类SoundMixer类构成了一条主线。我把这三个类称为主类。
而剩下的ID3Info类,SoundLoaderContext类,SoundTransform类成为附属类。
在下所谓的附属类,意思是不能单独使用,只能与主类相结合才能使用。
他们之间的附属关系也在上图体现出来了。
区分附属类的方法在于该类是否具有方法和事件,AS3中存在大量的附属类。都可以用这个方法区分,学习。你可以检查我所谓的这几个声音附属类,看是否有方法和事件。

主线的第一个基础类是Sound类,它是作为一个容器,用于下载外部音乐文件,在下载过程中可以触发各种事件(主要用到的事件是complete,progress,id3),然后实现其他的比如开始播放,显示缓冲进度条,显示音乐信息。Sound类也是声音类中属性最多,方法最多,事件最多的类,需要重点把握。
Sound类的第一附属类是SoundLoaderContext类,比较简单,主要看一下它的bufferTime属性,是用于设置下载音乐的缓冲。使用构造函数创建对象,提供给Sound类的构造函数使用。
Sound类的第二附属类是ID3Info类。它不具有构造函数,直接用Sound.id3属性引用ID3Info对象即可。

主线第二个类是SoundChannel类。声音一旦开始播放,就可以用SoundChannel类引用。一般在建立一个新SoundChannel对象后,需要用SoundChannel=Sound.play()的方式引用到正在播放的声音,并可得到当前播放的位置,停止声音播放,触发声音播放完毕的事件。注意SoundChannel类的方法只有stop(),各位可以对比一下Sound类,SoundChannel类,SoundMixer类的方法。注意控制声音播放停止的方法各属于哪个类(重点)。
SoundChannel类的附属类SoundTransform主要用于控制音量大小。其使用格式需要特别注意一下。

  1. var transform:SoundTransform = channel.soundTransform;
  2. transform.volume = volume;
  3. channel.soundTransform = transform;
复制代码

大致的方式是:
1先构造一个SoundTransform对象,用上面代码的格式也行,也可以用构造函数的方式。
2 设置SoundTransform对象的volume属性的值,也就是音量的值。
3 将SoundTransform对象重新赋值给SoundChannel对象。

主线第三个类是SoundMixerl类
高级应用,也就是我们常见的EQ波形条和左右声道的控制,才会用到这里的SoundMixer类。它的附属类SoundTransform类主要用于控制左右声道,由于flash mp3一般没有控制声道的例子,一般不需要去研究。

这里我们需要看看mp3播放的主流程。
2.JPG


转自:http://bbs.9ria.com/forum.php?mod=viewthread&tid=333&page=1
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值