在没有用户交互的情况下如何下载和播放音频片段?

时间:2020-10-19 18:34:15

标签: javascript user-interface audio user-interaction

在用户与页面进行交互之前,是否可以通过编程方式开始音频播放?

使用以下JavaScript:

console.log('Playing abc.');
XYZ.abc = new Audio('audio/abc.wav');
XYZ.abc.play();

我收到一条错误消息,

未捕获(承诺)的DOMException:play()失败,因为用户没有首先与文档进行交互。

当我单击页面时,该按钮消失了。

是请求用户单击以开始声音的标准UI模式,还是有漏洞可以通过编程方式进行?

谢谢

1 个答案:

答案 0 :(得分:0)

所以问题是用户通常不希望音频来自网站,因此chrome需要默认情况下将您的音频或视频元素静音。对于<audio>标签,您需要添加静音属性,因此-> <audio muted>

分别,js元素将具有.muted属性。因此,您需要的是XYZ.abc.muted = true;