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



所以我的控制台上有这个警告。我阅读了文档: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能修复这个警告,这样它只会在你试图在没有用户手势的情况下恢复上下文时显示。

最新更新