Microphone test

by Seiya.Kai
♥0 | Line 59 | Modified 2012-09-21 01:28:53 | MIT License
play

ActionScript3 source code

/**
 * Copyright Seiya.Kai ( http://wonderfl.net/user/Seiya.Kai )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1vd9
 */

package
{
    import flash.display.Sprite;
    import flash.events.SampleDataEvent;
    import flash.media.Microphone;
    import flash.utils.ByteArray;
    [SWF(width="800", height="600", frameRate="60")]
    public class Main extends Sprite
    {
        private var c:Circle = new Circle();
        public function Main(){
            var m:Microphone = Microphone.getMicrophone();
            m.rate = 50;
            m.gain = 100;
            m.addEventListener(SampleDataEvent.SAMPLE_DATA,onData);
            addChild(c);
        }
        
        protected function onData(event:SampleDataEvent):void
        {
            var m:ByteArray = event.data;
            var ic:int = 0;
            graphics.clear();
            graphics.lineStyle(1,0);
            while (m.bytesAvailable > 0) {
                var nY:Number=m.readFloat()*100+300;
                graphics.lineTo(ic,nY);
                ic++;
                c.sp2.scaleY = m.readFloat()*2 + 0.1;
            }
            
        }
        
    }
}
import flash.display.Sprite;


class Circle extends Sprite
{
    private var sp1:Sprite = new Sprite();
    public var sp2:Sprite = new Sprite();
    
    public function Circle()
    {
        sp1.graphics.beginFill(0x000000);
        sp1.graphics.drawCircle(0,0,40);
        sp1.graphics.endFill();
            
        sp1.graphics.beginFill(0xffffff);
        sp1.graphics.drawCircle(-20,-10,10);
        sp1.graphics.endFill();
            
        sp1.graphics.beginFill(0xffffff);
        sp1.graphics.drawCircle(20,-10,10);
        sp1.graphics.endFill();
        
        sp2.graphics.beginFill(0xff2222);
        sp2.graphics.drawCircle(0,0,10);
        sp2.graphics.endFill();
        
        sp1.x = 100;
        sp1.y = 100;
            
        sp2.x = 100;
        sp2.y = 120;
            
        addChild(sp1);
        addChild(sp2);
    }
}