AnalyserNode.fftSize

AnalyserNode.fftSize - розмір FFT.

Синтаксис:

AnalyserNode.fftSize;

Параметри:

AnalyserNode - об'єкти AnalyserNode.

Опис:

fftSize властивість об'єкта AnalyserNode яка повертає/задає розмір швидке перетворення Фур'є (FFT). Цей параметр вказує скільки даних отримаємо при аналізу частот і буде рівним fftSize/2, що містить властивість frequencyBinCount.

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

Приклад:

if(window.AudioContext){ var audio = new AudioContext(); var analis=audio.createAnalyser(); analis.connect(audio.destination); alert(analis.fftSize); }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=64; 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/32); 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');