我能够使用 biquadfilter 将过滤器添加到现有的音频流,但有兴趣尝试使用 Tone.js。但是我在将所有内容连接在一起时遇到了问题。尝试将过滤器连接到 audioContext 时,我不断收到 DomException。
function addFilter(fq) {
var audioCtx = new (window.AudioContext || window.webkitAudioContext);
var mediaElem = document.getElementById('myAudioElement');
//Tone.context = audioCtx;
Tone.context.createMediaElementSource(mediaElem)
const bqfilter = new Tone.Filter(fq, 'lowpass').toDestination();
Tone.connect(bqfilter, audioCtx.destination);
//bqfilter.chain(audioCtx.destination)
});
当我尝试将过滤器连接或链接到 audioCtx.destination 时,错误消息只是 DomException。这似乎遵循我在网上找到的大多数其他示例,所以我不确定为什么会抛出异常。
*编辑:包括来自开发控制台的堆栈跟踪
Uncaught DOMException Tone.js:formatted:2181
connect @ Tone.js:formatted:2181
To @ Tone.js:formatted:8710
(anonymous) @ audiocontrols:983
dispatch @ jquery.min.js:2
v.handle @ jquery.min.js:2