gpt4 book ai didi

javascript - Web 音频 API 过滤器不起作用

转载 作者:行者123 更新时间:2023-11-30 21:15:52 25 4
gpt4 key购买 nike

因此,我在浏览器中创建了一个合成器,并想向其中添加一些过滤器。我创建了所有滤波器,并将我的振荡器连接到滤波器,将滤波器连接到音频目的地。现在,当我选择播放低通滤波器时,我在控制台中收到此错误并且没有添加任何效果:

The provided value '3' is not a valid enum value of type BiquadFilterType.

我的代码片段:

function init() {
octaveNumber = document.getElementById("octaveNum");
audioCtx = new (window.AudioContext || window.webkitAudioContext);
osc = audioCtx.createOscillator();
volume = audioCtx.createGain();
filter = audioCtx.createBiquadFilter();
osc.connect(filter);
volume.connect(audioCtx.destination);
booleanVal = false;
osc.frequency.value = freqSlider.value
osc.start();
gainDisplay.innerHTML = gainSlider.value;
}

lowpass.addEventListener("click", function(event) {
filter.type = 3; // In this case it's a lowshelf filter
filter.frequency.value = 440;
filter.Q.value = 0;
filter.gain.value = 0;
})

function start() {
UI('start');
volume.gain.value = gainSlider.value;
filter.connect(volume);
}

这是什么意思?

最佳答案

您看到的错误很容易解释。基本上,filter.type = 3; 不是有效的 BiquadFilterNode 类型,如 MDN列出,“是一个字符串(枚举)值,定义节点正在实现的过滤算法的种类。”

它的值是字符串:'highpass'、'bandpass'、'lowshelf'、'highshelf'、'peaking'、'notch' 和 'allpass'。

您可以在 MDN 上找到它们的含义页面。

关于javascript - Web 音频 API 过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45695144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com