使用Web Audio API接收录制的音频块

时间:2017-11-23 17:36:48

标签: javascript html5 audio webrtc web-audio

有没有办法播放我录制的音频,而我还在录制它?

这是我的代码。我正在录制音频,每当音频块准备就绪时,就会调用onaudioprocess。它接收AudioProcessingEvent的实例。我不熟悉Web Audio 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);
}

onaudioprocess内的代码不起作用。控制台中没有错误,但没有任何反应。

e.inputBuffer的输出看起来不错:

AudioBuffer {length:4096,duration:0.09287981859410431,sampleRate:44100,numberOfChannels:1}

0 个答案:

没有答案