Как вы загружаете звук с микрофона с заданным интервалом? Скажите каждую 1 секунду или полсекунды. Если это невозможно, то, по крайней мере, сможете загрузить, если имеется звуковой патрон, который можно экспортировать как WAV.
У меня есть этот код:
const processAudio =
ev => {
const CHANNEL = 0;
const inputBuffer = ev.inputBuffer;
const outputBuffer = ev.outputBuffer;
const inputData = inputBuffer.getChannelData(CHANNEL);
const outputData = outputBuffer.getChannelData(CHANNEL);
// TODO: manually do something with the audio
for (let i = 0; i < inputBuffer.length; ++i) {
outputData[i] = inputData[i];
}
dataSpan.innerHTML = outputData.length
ctxSpan.innerHTML = audioContext.length // undefined
const outputWavBlob = audioBufferToWaveBlob(outputData)
_saveBlob(outputWavBlob) // download wav at given interval
};
Однако это не загрузит wav как blob, а также выдаст ошибки. Вот Jsfiddle для полной демонстрации: https://jsfiddle.net/xybrek/bmLa1k3s/