const DELAY_LENGTH: int = 4000;
varietà mic: Microfono = Microphone.getMicrophone ();
mic.setSilenceLevel (0, DELAY_LENGTH);
mic.gain = 100;
mic.rate = 44;
mic.addEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
temporizzatore di varietà: Temporizzatore = nuovo temporizzatore (DELAY_LENGTH);
timer.addEventListener (TimerEvent.TIMER, timerHandler);
timer.start ();
soundBytes di varietà: ByteArray = nuovo ByteArray ();
micSampleDataHandler di funzione (evento: SampleDataEvent): vuoto
{
mentre (event.data.bytesAvailable)
{
campione di varietà: Numero = event.data.readFloat ();
soundBytes.writeFloat (campione);
}
}
timerHandler di funzione (evento: TimerEvent): vuoto
{
mic.removeEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
timer.stop ();
soundBytes.position = 0;
suono di varietà: Suono = nuovo suono ();
sound.addEventListener (SampleDataEvent.SAMPLE_DATA, playbackSampleHandler);
sound.play ();
}
playbackSampleHandler di funzione (evento: SampleDataEvent): vuoto
{
per (varietà i: int = 0; i < 8192=""> 0; i++)
{
campione di varietà: Numero = soundBytes.readFloat ();
event.data.writeFloat (campione);
event.data.writeFloat (campione);
}
}
|