AnalyserNode.frequencyBinCount

AnalyserNode.frequencyBinCount - кількісті значень даних які повертаються при аналізу частот звуку.

Синтаксис:

AnalyserNode.frequencyBinCount;

Параметри:

AnalyserNode - об'єкти AnalyserNode.

Опис:

frequencyBinCount властивість об'єкта AnalyserNode яка повертає кількісті значень даних які повертаються при аналізу частот звуку. Ця властивість є половиною fftSize.

Можливі значення: 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192 і 16384. Значення позамовчуванню 16384.

Приклад:

if(window.AudioContext){ var audio = new AudioContext(); var analis=audio.createAnalyser(); analis.connect(audio.destination); analis.fftSize=128; alert(analis.frequencyBinCount); //64 = fftSize/2 }else alert('Ваш браузер не підтримує Web Audio'); if(window.AudioContext){ var audio = new AudioContext(); var player = document.getElementById('player'); var source = audio.createMediaElementSource(player); var analis=audio.createAnalyser(); var canvas=document.getElementById('canvas'); var ctx=canvas.getContext('2d'); source.connect(analis); analis.connect(audio.destination); analis.fftSize=1024; dani = new Uint8Array(analis.frequencyBinCount); function draw(){ //функція яка відображає отримані дані частот на полотні canvas analis.getByteTimeDomainData(dani); ctx.fillStyle='black'; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle='red'; var w=Math.ceil(canvas.width/dani.length); for(var i=0,x=0;i<dani.length;i++,x+=w) ctx.fillRect(x,dani[i],w,canvas.height); setTimeout(draw,50); //або requestAnimationFrame(draw) } draw(); player.play(); }else alert('Ваш браузер не підтримує Web Audio');