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

问题描述

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

使用以下JavaScript:

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

我收到一条错误消息,

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

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

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

谢谢

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...