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 zegar: Zegar = nowy Zegar (DELAY_LENGTH);
timer.addEventListener (TimerEvent.TIMER, timerHandler);
timer.start ();
var soundBytes: ByteArray = nowy ByteArray ();
funkcja micSampleDataHandler (wydarzenie: SampleDataEvent): pustka
{
podczas gdy (event.data.bytesAvailable)
{
var próbka: Liczba = event.data.readFloat ();
soundBytes.writeFloat (próbka);
}
}
funkcja timerHandler (wydarzenie: TimerEvent): pustka
{
mic.removeEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler);
timer.stop ();
soundBytes.position = (0);
var dźwięk: Dźwięk = nowy Dźwięk ();
sound.addEventListener (SampleDataEvent.SAMPLE_DATA, playbackSampleHandler);
sound.play ();
}
funkcja playbackSampleHandler (wydarzenie: SampleDataEvent): pustka
{
dla (var i: int = (0); i < 8192=""> (0); i++)
{
var próbka: Liczba = soundBytes.readFloat ();
event.data.writeFloat (próbka);
event.data.writeFloat (próbka);
}
}
|