繁体   English   中英

Web 音频 api - AudioContext 不允许启动。 它必须在页面上的用户手势后恢复(或创建)

[英]Web audio api - The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page

所以我的控制台上有这个警告。 我阅读了文档: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

我按照他们说的做了一切,但我仍然有这个警告。 这是我的代码:

let context;
window.onload = function() {
    context = new AudioContext();
    ...
}

// click event
document.addEventListener('click', function (e) {
    if (e.target.closest('.play1')) {
       context.resume().then(() => {
            source.start(0);
       });
    }
})

警告文本是关于这一行的: context = new AudioContext();

有谁看到我错过了什么? 非常感谢

是的,警告是因为您没有在用户手势中创建上下文。 我觉得这个警告很烦人,因为在没有用户手势的情况下创建上下文并没有错。 不允许的是在没有用户手势的情况下启动/恢复上下文。

由于您通过用户单击恢复上下文,所以一切都很好。

我会忽略它。 或者通过单击或其他用户手势创建上下文。

我希望 Chrome 能够修复警告,以便它仅在您尝试在没有用户手势的情况下恢复上下文时显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM