package{ import de.popforge.audio.output.Audio; import de.popforge.audio.output.AudioBuffer; import de.popforge.audio.output.Sample; import flash.display.Sprite; import flash.events.MouseEvent; [SWF( backgroundColor='0x000000', frameRate='40', width='400', height='25')] public class SoundTest01 extends Sprite { private var buffer:AudioBuffer; private var mX:Number = 1; private var cursor:Number = 0; private var isPlaying:Boolean = false; public function SoundTest01() { buffer=new AudioBuffer(4,Audio.STEREO,Audio.BIT16,Audio.RATE44100); buffer.onComplete=bufferOnComplete; stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); } private function onMouseMove(e) { mX = isPlaying ? this.mouseX : 0; this.graphics.beginFill(mX / 400 * 255); this.graphics.drawRect(0,0, 400, 25); this.graphics.endFill(); } private function onMouseDown(e) { if (isPlaying){ buffer.stop(); }else{ buffer.start(); } isPlaying = !isPlaying; } private function bufferOnComplete(buffer:AudioBuffer):void{ var freq:Number = mX * 3 + 1; var samples:Array=buffer.getSamples(); var len:int=samples.length; var sample:Sample; var amp:Number; var i:int; for(i=0;i