const DELAY_LENGTH: int = 4000;
var mic: Mikrofon = Microphone.getMicrophone ();
mic.setSilenceLevel (0, DELAY_LENGTH);
mic.gain = 100;
mic.rate = 44;
mic.addEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
var-Timer: Timer = neuer Timer (DELAY_LENGTH);
timer.addEventListener (TimerEvent.TIMER, timerHandler);
timer.start ();
var soundBytes: ByteArray = neues ByteArray ();
Funktion micSampleDataHandler (Ereignis: SampleDataEvent): Lücke
{
während (event.data.bytesAvailable)
{
var-Probe: Zahl = event.data.readFloat ();
soundBytes.writeFloat (Probe);
}
}
Funktion timerHandler (Ereignis: TimerEvent): Lücke
{
mic.removeEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
timer.stop ();
soundBytes.position = 0;
var-Ton: Ton = neuer Ton ();
sound.addEventListener (SampleDataEvent.SAMPLE_DATA, playbackSampleHandler);
sound.play ();
}
Funktion playbackSampleHandler (Ereignis: SampleDataEvent): Lücke
{
für (var I: int = 0; I < 8192=""> 0; i++)
{
var-Probe: Zahl = soundBytes.readFloat ();
event.data.writeFloat (Probe);
event.data.writeFloat (Probe);
}
}
|