const DELAY_LENGTH : international = 4000 ;
variété MIC : Microphone = Microphone.getMicrophone () ;
mic.setSilenceLevel (0, DELAY_LENGTH) ;
mic.gain = 100 ;
mic.rate = 44 ;
mic.addEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler) ;
temporisateur de variété : Temporisateur = nouveau temporisateur (DELAY_LENGTH) ;
timer.addEventListener (TimerEvent.TIMER, timerHandler) ;
timer.start () ;
soundBytes de variété : ByteArray = nouveau ByteArray () ;
micSampleDataHandler de fonction (événement : SampleDataEvent) : vide
{
tandis que (event.data.bytesAvailable)
{
échantillon de variété : Nombre = event.data.readFloat () ;
soundBytes.writeFloat (échantillon) ;
}
}
timerHandler de fonction (événement : TimerEvent) : vide
{
mic.removeEventListener (SampleDataEvent.SAMPLE_DATA, micSampleDataHandler) ;
timer.stop () ;
soundBytes.position = 0 ;
bruit de variété : Bruit = nouveau bruit () ;
sound.addEventListener (SampleDataEvent.SAMPLE_DATA, playbackSampleHandler) ;
sound.play () ;
}
playbackSampleHandler de fonction (événement : SampleDataEvent) : vide
{
pour (variété i : international = 0 ; i < 8192=""> 0 ; i++)
{
échantillon de variété : Nombre = soundBytes.readFloat () ;
event.data.writeFloat (échantillon) ;
event.data.writeFloat (échantillon) ;
}
}
|