Вот как я проверял... Пока не включишь музыку ничего не происходит..
может я чего то не понимаю или неправильно делаю...

Код:
package {
import flash.display.*;
import flash.media.*;
import flash.events.*;
import flash.utils.ByteArray;
import flash.net.URLRequest;
import flash.system.*;
public class Sin extends Sprite
{
private var snd:Sound = new Sound();
private var mix:SoundMixer = new SoundMixer();
private var spectrumInfo:ByteArray = new ByteArray();
private var mc:MovieClip = new MovieClip();
private var mic:Microphone;
public function Sin()
{
this.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.align = StageAlign.TOP_LEFT;
this.addEventListener(Event.ENTER_FRAME, enterFrame);
snd.load(new URLRequest("sound.mp3"));
mc.graphics.lineStyle(1,0x000000);
mc.graphics.beginFill(0x0000ff, .5);
mc.graphics.drawRect(0,0,100,100);
mc.graphics.endFill();
this.addChild(mc);
this.mic = Microphone.getMicrophone();
Security.showSettings(SecurityPanel.MICROPHONE);
this.mic.setLoopBack(true);
this.mic.gain = 100;
this.mic.setSilenceLevel(0,-1);
this.mc.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(e:Event):void
{
this.snd.play();
}
private function enterFrame(e:Event):void
{
SoundMixer.computeSpectrum(this.spectrumInfo, false, 2);
this.graphics.clear();
this.graphics.lineStyle(1,0x000000);
this.graphics.beginFill(0x111000);
var w:uint = 2;
for (var i:Number =0; i < 256; i+=w)
{
var t:Number = this.spectrumInfo.readFloat();
var n:Number = (t * 100);
this.graphics.drawRect(i, 150, w, -n);
}
}
}//class
}