ConvolverNode.buffer

ConvolverNode.buffer - AudioBuffer який використовується для використовується для створення ефекту реверберації.

Синтаксис:

ConvolverNode.buffer;

Параметри:

ConvolverNode - об'єкт ConvolverNode.

Опис:

buffer властивість об'єкту ConvolverNode якій присвоюється моно, стерео або 4-канальний AudioBuffer який використовується для використовується для створення ефекту реверберації звуку.

Приклад:

var audio=new AudioContext(); var source=audio.createBufferSource(); var convolver=audio.createConvolver(); source.connect(convolver); convolver.connect(audio.destination); convolver.loop=true; //функція для створення імпусного звуку function impulseResponse(duration, decay, revers){ var sampleRate = audio.sampleRate; var length=sampleRate*duration; var impulse=audio.createBuffer(2, length,sampleRate); var impulseL = impulse.getChannelData(0); var impulseR = impulse.getChannelData(1); if(!decay)decay = 2.0; for(var i=0;i<length;i++){ var n = revers?length-i:i; impulseL[i]=(Math.random()*2-1)* Math.pow(1-n/length, decay); impulseR[i]=(Math.random()*2-1)* Math.pow(1-n/length,decay); } return impulse; } convolver.buffer=impulseResponse(2,2,false); //присвоюємо імпульсний звук для реверберації звуку //завантажуємо основнуй звук var ajax=new XMLHttpRequest(); ajax.open('get', '/dani/test.ogg', true); ajax.responseType='arraybuffer'; ajax.onload=function(){ audio.decodeAudioData(this.response, function(decodedata){ source.buffer=decodedata; source.start(0); //починаємо відтворення }); } ajax.send();