Vraag : Kan ik mic gegevens vangen?

Ik las help.adobe.com over sampleDataEvent en het zeg dit over het vangen van het audioGebruik van de Microfoon microphone.

Capturing de sampleDatagebeurtenis om audiogegevens van een microfoon te vangen. Wanneer u toevoegt een gebeurtenisluisteraar voor de sampleDatagebeurtenis, de berichten van de Microfoon de gebeurtenis aangezien de audiosteekproeven available.

Does worden dit gemiddeld ik audio van mic kan vangen en achter het spelen?
" codeBody "
1:
2:
3:
4:
5:
6:
var soundBytes: ByteArray = nieuwe ByteArray ();
 terwijl (event.data.bytesAvailable)
 {
      var steekproef: Aantal = event.data.readFloat ();
      soundBytes.writeFloat (steekproef);
 }

Antwoord : Kan ik mic gegevens vangen?

Ik veronderstel het.  Hier is de code.  
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
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);
    }
}
Andere oplossingen  
 
programming4us programming4us