Microphone.activityLevel

by umhr
♥0 | Line 52 | Modified 2015-03-11 19:12:51 | MIT License
play

ActionScript3 source code

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

package 

{

    

    import com.bit101.components.IndicatorLight;

    import com.bit101.components.Label;

    import com.bit101.components.Meter;

    import flash.display.Sprite;

    import flash.events.ActivityEvent;

    import flash.events.Event;

    import flash.events.SampleDataEvent;

    import flash.media.Microphone;

    /**

     * ...

     * @author umhr

     */

    public class Canvas2 extends Sprite 

    {

        private var _microphone:Microphone;

        private var _meter:Meter;

        private var _label:Label;

        private var _indicatorLight:IndicatorLight;

        public function Canvas2() 

        {

            init();

        }

        private function init():void 

        {

            if (stage) onInit();

            else addEventListener(Event.ADDED_TO_STAGE, onInit);

        }



        private function onInit(event:Event = null):void 

        {

            removeEventListener(Event.ADDED_TO_STAGE, onInit);

            // entry point

            

            _microphone = Microphone.getMicrophone();

            if (_microphone) {

                _microphone.setSilenceLevel(5, 0);

            }

            

            _meter = new Meter(this, 0, 0, "Meter");

            _meter.maximum = 100;

            _meter.minimum = 0;

            _label = new Label(this, 0, 100);

            _indicatorLight = new IndicatorLight(this, 160, 105, 0xFF9900, "active");

            

            _microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, microphone_sampleData);

            _microphone.addEventListener(ActivityEvent.ACTIVITY, microphone_activity);

        }

        

        private function microphone_activity(e:ActivityEvent):void 

        {

            _indicatorLight.isLit = e.activating;

        }

        

        

        private function microphone_sampleData(e:SampleDataEvent):void 

        {

            var activeLevel:Number = _microphone.activityLevel;

            _meter.value = activeLevel;

            _label.text = activeLevel.toString();

        }

        

    }

    

}