Recorder.JS - AudioBuffer.getChannelData () возвращает массив нулей (пустой звук) - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь записать звук с помощью Recorder.JS. Я столкнулся с периодически возникающей проблемой, когда аудио-буфер иногда представляет собой массив всех нулей: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]. Я проследил эти нули назад, и пустой массив аудио возвращается прямо из inputBuffer.getChannelData(0), где inputBuffer приходит непосредственно из аудио контекста. Ниже приведено упрощение происходящего:

const _audioContext = new AudioContext();
const processor = _audioContext.createScriptProcessor(...);
processor.onaudioprocess = (evt) => {
  console.log(evt.inputBuffer.getChannelData(0)); //<----- the array output here is an array of all zeros
}
...