【发布时间】:2021-10-06 21:16:07
【问题描述】:
我想每秒播放一次音频,因为它是时钟,所以想插入滴答声。
有什么方法可以在没有触发器的情况下实现这一点,因为时钟应该始终是自动的。
下面是触发和运行的代码:
<audio id="audiotag1" src="Sounds\clock tick.mp3" preload="metadata" controls></audio>
<button onclick="trigger()">Start</button>
function trigger(){
setInterval(clockRunner, 1000);
function clockRunner(){
var audioElement = document.getElementById('audiotag1');
audioElement.play();
}
}
这是没有触发器但没有运行的代码:
setInterval(clockRunner, 1000);
function clockRunner() {
var audioElement = document.getElementById('audiotag1');
audioElement.play();
}
<audio id="audiotag1" src="Sounds\clock tick.mp3" preload="metadata" controls></audio>
错误显示是:
未捕获的 DOMException: play() 失败,因为用户没有先与文档交互。
Here is the question 指的是问题(错误),但提供的解决方案是针对视频的,它们可以静音播放并具有视觉内容
提前感谢您的帮助
【问题讨论】:
-
尝试从按钮单击处理程序调用
setInterval()。您不能在页面加载后播放音频,这是有充分理由的。 -
是的,您是对的,但正如您所知,当我们在 YouTube 1 中打开任何频道时,视频总是播放音频。无论您是使用书签打开还是直接在新窗口中打开或隐身,它始终会自动播放音频。知道 YouTube 出类拔萃
标签: javascript html