var sprMain:Sprite = new Sprite(); this.addChild(sprMain); var s:Sound = new Sound(); s.load(new URLRequest("loop.mp3")); var sc:SoundChannel; sc = s.play(0, 1000); var ba:ByteArray = new ByteArray(); var bmp:BitmapData = new BitmapData(800, 800, false, 0x000000); var bmp2:BitmapData = new BitmapData(800, 800, true, 0x00000000); this.addChild(new Bitmap(bmp)); var blur:BlurFilter = new BlurFilter ( 2, 2, 3 ); var aColors:Array = [0x00FF00, 0xFF0000]; var aAlpha:Array = [100, 100]; var aRatios:Array = [0, 255]; var matrix:Matrix = new Matrix(); matrix.createGradientBox ( 850, 1, 0, 0, 0); var nb:Number = 0; this.addEventListener(Event.ENTER_FRAME, showAmplitude); function showAmplitude(eventArgs:Event) { SoundMixer.computeSpectrum(ba,true,0); sprMain.graphics.clear(); sprMain.graphics.moveTo(i*3, 200); sprMain.graphics.lineStyle(1, 0xFFFFFF, 1); sprMain.graphics.lineGradientStyle ( 'linear', aColors, aAlpha, aRatios, matrix, 'pad', 'linearRGB', 0.1); for(var i=0; i < 128; i++) { a = ba.readFloat(); if(i%3 == 0) { var n:Number = a; var num:Number = a*100; sprMain.graphics.lineTo(i*6, 150-num); } else { n += a; } } bmp.draw(sprMain, null, null, "add"); bmp.applyFilter(bmp, bmp.rect, new Point(0, 0), blur); var matrixBmp:Matrix = new Matrix(); matrixBmp.scale(1.03, 1.03); var trans:Number = -(1.03-1)/2; matrixBmp.translate(trans*768, trans*100); bmp2.draw(bmp, matrixBmp); bmp.draw(bmp2); }