此JS代码指的是播放4秒.mp3:
的HTML5音频元素function playTone(){
document.getElementById('tone').play();
};
setTimeout(playTone,2000);
setTimeout(playTone,7000);
这可以播放两次音调。但是,如果我将第二个setTimeout设置为3000(我想做)它只播放一次,因为第一个mp3还没有播放完毕。有办法解决这个问题吗?如何让Audio元素在完成之前从头开始重新启动?
出于我的目的,我想调用相同的元素,而不是动态创建一个新元素。上下文是我想在页面上选择这些音频元素,并使用JS将它们作为乐器演奏。
答案 0 :(得分:1)
您必须在播放音频之前将音频的当前时间设置为开头。这个功能应该有效。
function playTone(){
var tone = document.getElementById('tone');
tone.currentTime = 0;
tone.play();
}