Webaudio :: Воспроизвести записанное аудио - PullRequest
0 голосов
/ 09 февраля 2019

Я хочу воспроизвести записанный звук с помощью микрофона.

После записи его в виде 32-битных массивов

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

Теперь в массиве leftChannel у меня был фрагмент аудиоданных.Теперь я хочу воспроизвести их в браузере.Как я могу это сделать?

1 Ответ

0 голосов
/ 13 февраля 2019

Вы немного отрываетесь от своего фрагмента, но, возможно, следующее даст вам идею одного из способов воспроизвести массив 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();
...