Javascript 使用Web audio API接收录制的音频块时播放它们

Javascript 使用Web audio API接收录制的音频块时播放它们,javascript,html,audio,webrtc,web-audio-api,Javascript,Html,Audio,Webrtc,Web Audio Api,有没有办法在我仍在录制时播放我正在录制的音频 这是我的密码。我正在录制音频,每次音频块准备就绪时,都会调用onaudioprocess。它接收AudioProcessingEvent的实例。我不熟悉网络音频API,所以我不知道该怎么听。我想让我的扬声器输出声音 function startRecording(stream){ var context = new AudioContext(); var audio_input = context.createMediaStreamS

有没有办法在我仍在录制时播放我正在录制的音频

这是我的密码。我正在录制音频,每次音频块准备就绪时,都会调用
onaudioprocess
。它接收
AudioProcessingEvent
的实例。我不熟悉网络音频API,所以我不知道该怎么听。我想让我的扬声器输出声音

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);
}
音频进程中的
代码不起作用。控制台中没有错误,但什么也没有发生

e.inputBuffer
的输出看起来很好:


音频缓冲区{length:4096,duration:0.09287981859410431,sampleRate:44100,numberOfChannels:1}

读取 到 查看onprocess事件的作用。你基本上需要复制 事件将inputBuffer输入到outputBuffer,您将能够听到 音频