Próbuję nauczyć/zrobić: Jak skonfigurować prosty convolver pracy (pogłos) do mojego kodu piaskownicy poniżej za pomocą odpowiedzi impulsowej. Myślałem, że to było podobne do ustawiania filtra, ale rzeczy wyglądają zupełnie inaczej.Web Audio Api: Jak dodać działający convolver?
Co próbowałem: jak w przypadku wszystkich nowych technologii rzeczy zmieniają się w szybkim tempie przez co trudno wiedzieć, które implementacja jest poprawna, a co nie jest. Spojrzałem na niezliczonych WebAudio api Convolver Poradniki, wiele były stare i inni pracowali, ale zbyt „nadęty” co trudno zrozumieć, co się dzieje. Starałem się wdrożyć niektóre przykłady z dokumentacji mozilla:
miałem już do obejrzenia: https://developer.mozilla.org/en-US/docs/Web/API/ConvolverNode/buffer
Moje pytanie: W jaki sposób zintegrować convolver odpowiednio w poniższej kontekście? Jak widać próbowałem, ale nie mogę tego zrozumieć.
window.addEventListener('load', init, false);
function init() {
setupWebAudio();
}
function setupWebAudio() {
var audio = document.getElementById('music');
var context = new AudioContext();
var source = context.createMediaElementSource(audio);
var filter = context.createBiquadFilter();
var convolver = context.createConvolver();
var inpulseRes = "hall.mp3";
var hallBuffer = inpulseRes;
soundSource = context.createBufferSource();
soundSource.buffer = hallBuffer;
convolver.buffer = hallBuffer;
filter.type = 'lowpass';
filter.frequency.value = 400;
var theParent = document.getElementById("test");
theParent.addEventListener("mousedown", doSomething, false);
function doSomething(e) {
if (e.target !== e.currentTarget) {
if(e.target == theParent.children[0]){
filter.frequency.value += 200;
}
else if(e.target == theParent.children[1]){
filter.frequency.value -= 200;
}
else if(e.target == theParent.children[2]){
filter.type = 'highpass';
}
}
e.stopPropagation();
}
source.connect(filter);
source.connect(convolver);
filter.connect(context.destination);
audio.play();
}
jak można dać się 150 rep jeśli masz tylko 114? – dandavis
@dandavis dobre pytanie – Asperger