forked from: forked from: Basic sine wave generator

by WeiChih_Lin
♥0 | Line 21 | Modified 2011-09-22 21:31:01 | MIT License
play

ActionScript3 source code

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

// forked from Maoster's forked from: Basic sine wave generator
// forked from io42_'s Basic sine wave generator
package {
    import flash.display.Sprite;
    import flash.media.Sound;
    import flash.events.SampleDataEvent;
    
    public class GenerateSine extends Sprite {
        private var mySound:Sound;
        
        private static const FREQUENCY:Number = 84;
        private static const AMPLITUDE:Number = 1;
        
        public function GenerateSine() {
            mySound = new Sound();
            mySound.addEventListener(SampleDataEvent.SAMPLE_DATA, sineWaveGenerator);
            mySound.play();
        }
        
        private function sineWaveGenerator(event:SampleDataEvent):void {
            for(var c:int = 0; c < 8192; c++) {
                event.data.writeFloat(Math.sin(2 * Math.PI * FREQUENCY / 44100 * Number(c + event.position)) * AMPLITUDE);
                event.data.writeFloat(Math.sin(2 * Math.PI * FREQUENCY / 44100 * Number(c + event.position)) * AMPLITUDE);
            }
        }
    }
}