关于mp3实时显示音频音柱或者波形的提问
看到不少关于mp3实时显示音频音柱或者波形的提问
所以在这里整理一下有关知识.
AS3中提供了一个新的类SoundMixer
我们需要用的是其中的
computeSpectrum(outputArray:ByteArray, FFTMode:Boolean = false, stretchFactor:int = 0):void
将当前播放的声音的波形数据进行一次快照,所得的数据存入ByteArray类型的二进制数组中,
FFTMode代表是否进行离散形式的快速傅立叶变换.
stretchFactor参数有2个,
为0时,采样率为44.1Khz,
为1时采样率22.05Khz,
为2时,11.025Khz.
因此一般我们使用参数0,也就是44.1Khz
下面再来看傅立叶变化,首先撇开原理不谈.实验证明,进行变换之后的数据试用于画条形和环形图,变换之前的数据适合作波形图.
why?
波形图是函数随着自变量的变化而在平衡位置附近上下运动的结果,
那么需要画波形图的时候,我们需要在0附近左右振荡的波形数据,而画条形和环形时,我们只需要在0+方向的波形数据.
因此如果你需要做波形图,请将FFTMode置0,否则置1.