gpt4 book ai didi

javascript - 使用 Web Audio API 播放录制的音频 block

转载 作者:行者123 更新时间:2023-11-30 20:57:58 25 4
gpt4 key购买 nike

有没有办法在我还在录音的时候播放我正在录音的音频?

这是我的代码。我正在录制音频,每次音频 block 准备就绪时,都会调用 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 {长度:4096,持续时间:0.09287981859410431,采样率:44100,numberOfChannels:1}

最佳答案

阅读有关音频处理事件的信息 https://webaudio.github.io/web-audio-api/#dom-audioprocessingevent到查看 onprocess 事件的作用。你基本上需要复制事件 inputBuffer 到 outputBuffer 你就可以听到音频。

关于javascript - 使用 Web Audio API 播放录制的音频 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47460935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com