const DELAY_LENGTH: int. = 4000;
var mic: Microfoon = Microphone.getMicrophone ();
mic.setSilenceLevel (0, DELAY_LENGTH);
mic.gain = 100;
mic.rate = 44;
mic.addEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
var tijdopnemer: Tijdopnemer = nieuwe Tijdopnemer (DELAY_LENGTH);
timer.addEventListener (TimerEvent.TIMER, timerHandler);
timer.start ();
var soundBytes: ByteArray = nieuwe ByteArray ();
functie micSampleDataHandler (gebeurtenis: SampleDataEvent): leegte
{
terwijl (event.data.bytesAvailable)
{
var steekproef: Aantal = event.data.readFloat ();
soundBytes.writeFloat (steekproef);
}
}
functie timerHandler (gebeurtenis: TimerEvent): leegte
{
mic.removeEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
timer.stop ();
soundBytes.position = 0;
var geluid: Geluid = nieuw Geluid ();
sound.addEventListener (SampleDataEvent.SAMPLE_DATA, playbackSampleHandler);
sound.play ();
}
functie playbackSampleHandler (gebeurtenis: SampleDataEvent): leegte
{
voor (var i: int. = 0; i < 8192=""> 0; i++)
{
var steekproef: Aantal = soundBytes.readFloat ();
event.data.writeFloat (steekproef);
event.data.writeFloat (steekproef);
}
}
|