我想每秒播放音频,因为它是时钟,所以我想插入一个滴答声。
有没有办法在没有触发器的情况下实现这一点,因为时钟应该总是自动的。
下面是工作在触发器和运行代码:
<audio id="audiotag1" src="Soundsclock 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="Soundsclock tick.mp3" preload="metadata" controls></audio>
错误显示是:
未捕获DOMException: play()失败,因为用户没有首先与文档交互。
下面是关于Error问题的问题),但提供的解决方案是视频,他们可以播放静音和视觉内容
谢谢提前帮助
不能使用document。getElementById(音频元素)和js一起使用它和。play,这不起作用,但这应该
function play() {
var audio = new Audio('Soundsclock tick.mp3');
audio.play();
}
setInterval(play, 1000)
在字符串中只使用您的源。:)
我想说这值得一试
<audio id="audiotag1" preload="metadata" controls>
<source src="Soundsclock tick.mp3" type="audio/mpeg">
</audio>
<button onclick="triger()">Start</button>
还想提一下你有一个类型,它说audioelement。play你放了一个额外的空格,使它成为audioElement .play,这可能会抛出一个错误。
看起来有一个相关的帖子刚刚弹出。(来源:https://stackoverflow.com/a/62720714/9303612)
几个星期前,我尝试了你打算做的事情,然而,经过大量的研究,我意识到现在这几乎是不可能的。为例子在Chrome(我也不知道在其他浏览器)你不能自动播放声音/视频,除非满足以下条件之一:
- 用户与您的网站交互(点击您网站的任何部分)。
- 用户将您的网站添加到主界面(手机)。
- 用户已超过MEI (media interaction index)阈值。
- 你的网站是在谷歌白名单自动播放(如Youtube)。