CS3以前,采集声音中的频谱数据比较难,要借助第三方软件,而且多是将声音外置,如今,FLASHCS3对声音的处理能力大大提升,可以不借助其它软件直接处理声音中的频谱数据了。下举一小例子说明。
1、导入一首mp3到FLASHCS3库中,取链接名为"NewStories";
2、FLASHCS3背景设置为黑色,在第一帖上:
var mySound:NewStories = new NewStories();
mySound.play();
var sc:SoundChannel = mySound.play();//播放声音并记录下声道
// 要对声音进行其它控制,如停止声音,就要用到声道
//对象SoundChannel
var ba:ByteArray =new ByteArray();
var array:Array;
this.addEventListener(Event.ENTER_FRAME ,playmusic);
var a:Number=0;
function playmusic(event:Event) {
//== 画动态圆 ==========================================================
graphics.clear();
SoundMixer.computeSpectrum(ba,true,0);
for (var i:uint =0; i<256; i=i+8) {
a=ba.readFloat();
var num:Number =a*360;
graphics.lineStyle(num/15,0xFF00FF|(num<<8));
graphics.drawCircle(stage.stageWidth/2,stage.stageHeight/2,i/2);
}
}
3、效果见下:
http://m.bbyears.com/flash/9012.html
推荐访问: