该问题通常出现在尝试在非用户交互事件中启动Web Audio API时。要解决此问题,请確保通过单击或触摸事件等用户交互来启动音频上下文。例如,在事件处理程序中添加以下代码:
function startAudioContext() {
if (Tone.context.state !== 'running') {
Tone.context.resume();
}
}
document.querySelector('button').addEventListener('click', startAudioContext);
或者,在鼠标点击事件中自动启动音频上下文,添加以下代码:
document.documentElement.addEventListener('mousedown', () => {
if (Tone.context.state !== 'running') Tone.context.resume();
});