浏览模式 : 普通 | 列表
1 | 

AS3实现频谱与波形图

[ 2009-5-6 11:09:56 | 作者 : Conanlwl ]

AS3声音功能中最令人兴奋的新增功能之一,就是可以访问声音频谱数据.这在以往的版本中是比较难实现的,或者得借助第三方工具才能完成的,而现在,这些频谱功能给内建到SoundMixter类里的computeSpectrum().所以在编写频谱之前,我们先从AS3的帮助文档中来认识一下computeSpectrum()是什么东西.

先浏览一下效果先,点击频谱可以切换效果 (注意,浏览前,关掉或暂停其它FLASH的声音,如本页右侧的音乐播放器,computeSpectrum () 会捕捉到其它FLASH上的声音而导致沙箱安全冲突= =!)

computeSpectrum () 方法  

public static function computeSpectrum(outputArray:ByteArray, FFTMode:Boolean = false, stretchFactor:int = 0):void

获取当前声音波形的快照,并将其放在指定的 ByteArray 对象中。 这些值已设置为标准浮点值(范围为 -1.0 到 1.0)格式。新值覆盖了传递到 outputArray 参数的 ByteArray 对象。 创建的 ByteArray 对象的大小固定为 512 个浮点值,其中前 256 个值表示左声道,后 256 个值表示右声道。

参数  outputArray:ByteArray — 用于保存与声音关联的值的 ByteArray 对象。 如果由于安全性限制 (areSoundsInaccessible == true) 而导致任何声音不可用,则 outputArray 对象将保持不变。 如果停止了所有声音,则用零填充 outputArray 对象。 
 
 FFTMode:Boolean (default = false) — 一个用于指示是否首先对声音数据执行 Fourier 转换的布尔值。 将此参数设置为 true 会导致方法返回的是频谱而不是原始声音波形。 在频谱中,左侧呈现的是低频,右侧呈现的是高频。 
 
 stretchF...


1 |