わかりました。FFT オーディオ ビジュアライザを作成しようとしていますが、改善するために 2 つの質問があります。今のところ、私が必要としているものの基本を実行するコードが少しありますが、いつものように、もっと多くのコードが必要です。
これが私が現在持っているコードです:
var s:Sound = new Sound(new URLRequest("mix 3 v1.mp3"));
s.play(0, 1);
var ba:ByteArray = new ByteArray();
addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void {
graphics.clear();
//Create ByteArray of song
SoundMixer.computeSpectrum(ba, true);
//For every 8 bytes to a max of 256
for (var i:uint=0; i<256; i+=32) {
var index = (i / 4);//or bitshift using i >> 3
var num:Number = -ba.readFloat()*250;
//Generate Bars
graphics.beginFill(0xFFFF00);
graphics.drawRect(191 + (index * 14), 500, 12, num-2);
}
}
私が今欲しいのは、一定時間後に色を変えられるようにすることです。どうすればそれを行うことができますか?タイムラインのそのフレームに移動して、別の AS3 コードのセットを実行しますか? それとも、すべてをフレーム 1 のままにしておくほうがよいのでしょうか?
また、バーの更新を簡単にするにはどうすればよいですか? 今のところ、すべてのグラフィックスがクリアされ、すべてが再描画され、非常にビクビク/ちらつきのあるビジュアライザーになると思います。長方形を描いてから高さを調整するだけですか?または、現在の値と次の値の間で遷移する周波数値のバッファを作成する方法はありますか? (私が考えると、すべてのフレームを更新している場合、フレーム間を移行することはできません...)
前もって感謝します。