Я пытаюсь записать звук с помощью 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
}