2017-11-23 1 views
0

Gibt es eine Möglichkeit, den Ton, den ich aufnehme, während ich ihn noch aufnehme, wiederzugeben?Abspielen aufgezeichneter Audio-Chunks, wie Sie sie mit Web Audio API empfangen

Dies ist mein Code. Ich nehme das Audio auf und jedes Mal, wenn ein Audio-Chunk fertig ist, wird ein Anruf an onaudioprocess gemacht. Es empfängt eine Instanz von AudioProcessingEvent. Ich kenne die Web Audio API nicht, daher bin ich mir nicht sicher, was ich tun soll, um sie zu hören. Ich möchte, dass meine Lautsprecher den Ton ausgeben.

function startRecording(stream){ 
    var context = new AudioContext(); 
    var audio_input = context.createMediaStreamSource(stream); 
    var buffer_size = 2048; 

    var recorder = context.createScriptProcessor(buffer_size, 1, 1); 

    recorder.onaudioprocess = function(e){ 
     // var data = e.inputBuffer.getChannelData(0); 
     // AudioStream.write(data); 

     var source = context.createBufferSource(); 
     source.buffer = e.inputBuffer; 
     source.connect(context.destination); 
     source.start(0); 

     console.log(e.inputBuffer) 

    }; 

    audio_input.connect(recorder); 
    recorder.connect(context.destination); 
} 

Der Code innerhalb onaudioprocess funktioniert nicht. Es gibt keinen Fehler in der Konsole, aber nichts passiert.

Die Ausgabe von e.inputBuffer sieht gut aus:

Audiobuffer {Länge: 4096, Dauer: 0,09287981859410431, sample: 44100, numberOfChannels: 1}

Antwort

Verwandte Themen