<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
var soundBuffer:ByteArray = new ByteArray();
SoundMixer.computeSpectrum(soundBuffer, true);
this.graphics.clear();
for (var i:uint = 0, bufferLength:uint = (soundBuffer.length / 8); i < bufferLength; i += 8) {
var value:Number = soundBuffer.readFloat();
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(10, height, Math.PI / 2);
this.graphics.lineStyle(1, 0x555753);
this.graphics.beginGradientFill(
GradientType.LINEAR,
[0x2e3436, 0xd9d9d9],
[1, 1],
[0, 255],
gradientMatrix
);
this.graphics.drawRect(
width * (i / bufferLength), height, 10,
-(height * value) );
this.graphics.endFill();
}
}
]]>
</fx:Script>
</s:BorderContainer>