Webaudio ::播放录制的音频

时间:2019-02-09 15:10:25

标签: web-audio web-audio-api

我想用麦克风播放录制的音频。

将其记录为32位数组后

    let left = e.inputBuffer.getChannelData(0);
    let tempLeftChannel = this.state.leftChannel;
    tempLeftChannel.push(new Float32Array(left));
    this.setState({ leftChannel: tempLeftChannel });

现在在leftChannel数组中,我有音频数据块。现在,我想在浏览器中播放它们。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您的代码段中有很多内容,但是下面的内容可能会让您想到一种播放现有float数组的方法。假设context是您可能拥有的AudioContext

let buffer = new AudioBuffer({length: leftChannel.length,
                              sampleRate: context.sampleRate});
buffer.copyToChannel(leftChannel, 0);

let source = new AudioBufferSourceNode(context, {buffer: buffer});

source.connect(context.destination);
source.start();