小编dev*_*per的帖子

scriptNode.onaudioprocess 已弃用,有其他选择吗?

我想在说话时获取音频缓冲区,我用这个方法来检测它,但是我收到消息这个方法 onaudioprocess 已被弃用并且不会被触发,是否有任何替代方法并举例说明。

audioContext = new AudioContext({ sampleRate: 16000 });
scriptNode = (audioContext.createScriptProcessor || audioContext.createJavaScriptNode).call(audioContext, 1024, 1, 1);
scriptNode.onaudioprocess = function (audioEvent) {
  if (recording) {
    input = audioEvent.inputBuffer.getChannelData(0);
    // convert float audio data to 16-bit PCM
    var buffer = new ArrayBuffer(input.length * 2);
    var output = new DataView(buffer);
    for (var i = 0, offset = 0; i < input.length; i++, offset += 2) {
      var s = Math.max(-1, Math.min(1, input[i]));
      output.setInt16(offset, s < 0 ? s * 0x8000 : …
Run Code Online (Sandbox Code Playgroud)

javascript audio buffer html5-audio audiocontext

6
推荐指数
1
解决办法
9217
查看次数

标签 统计

audio ×1

audiocontext ×1

buffer ×1

html5-audio ×1

javascript ×1