Show Mic Input Waveform

by j2e
♥0 | Line 29 | Modified 2011-02-20 18:24:39 | MIT License
play

ActionScript3 source code

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

package {
    
    /// Program copied from http://192.150.8.121/devnet/flash/articles/flcs5_features_microphone_event.html
    /// Written primarily by Fumio Nonaka
    
    import flash.display.Sprite;
    import flash.media.Microphone; 
    import flash.events.SampleDataEvent; 
    import flash.utils.ByteArray; 
    import flash.display.Graphics;
    
    
    public class FlashTest extends Sprite {
        private var nWidth:Number = stage.stageWidth; 
        private var nCenter:Number = stage.stageHeight / 2; 
        private var nScale:Number = 100; 
        private var myGraphics:Graphics = graphics; 
        private var mic:Microphone = Microphone.getMicrophone(); 
        //mic.rate = 22; 
        //mic.gain = 100; 
        

        public function FlashTest() {
            // write as3 code here..
            mic.addEventListener(SampleDataEvent.SAMPLE_DATA, drawSampleData);
            }
        
        private function drawSampleData(eventObject:SampleDataEvent):void { 
            var myData:ByteArray = eventObject.data; 
            myGraphics.clear(); 
            myGraphics.lineStyle(0, 0x000000); 
            myGraphics.moveTo(0, nCenter); 
            var nPitch:Number = nWidth / myData.length; 
            
            while (myData.bytesAvailable > 0) { 
                var nX:Number = myData.position * nPitch; 
                var nY:Number = myData.readFloat() * nScale + nCenter; 
                myGraphics.lineTo(nX, nY); 
                } 
           }
    }
}

Forked