如何在没有触发器的情况下每秒播放声音



我想每秒播放音频,因为它是时钟,所以我想插入一个滴答声。

有没有办法在没有触发器的情况下实现这一点,因为时钟应该总是自动的。

下面是工作在触发器和运行代码:

<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)。

相关内容

  • 没有找到相关文章

最新更新