Пытался получить Аудиоконтекст отпечаток(Audiocontext fingerprint). Вчера показывал все правильно. Выдавал массив примерно такой [-145.835968,-136.51010,-130.71459,-126.36395...] length=1024. Теперь в firefox'e выдает такой массив Array(1024) [ -Infinity, -Infinity, -Infinity...] а в гугле ничего не выводится и предупреждение "ScriptProcessorNode устарел. Вместо этого используйте AudioWorkletNode. " Не нашел как это заменить. Когда я просто вместо ScriptProcessor поменял AudioWorklet не помогло. Кто сталкивался с такой проблемой?
let freq_data = [];
// Create nodes
const ctx = new AudioContext(); // AudioContext Object
const oscillator = ctx.createOscillator(); // OscillatorNode
const analyser = ctx.createAnalyser(); // AnalyserNode
const gain = ctx.createGain(); // GainNode
const scriptProcessor = ctx.createScriptProcessor(4096, 1, 1); // ScriptProcessorNode
gain.gain.value = 0;
oscillator.connect(analyser);
analyser.connect(scriptProcessor);
scriptProcessor.connect(gain);
gain.connect(ctx.destination);
scriptProcessor.onaudioprocess = function(bins) {
bins = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(bins);
for (var i = 0; i < bins.length; i = i + 1) {
freq_data.push(bins[i]);
}
analyser.disconnect();
scriptProcessor.disconnect();
gain.disconnect();
console.log(freq_data);
oscillator.start(0);
}