Javascript 在音频结束后执行操作

Javascript 在音频结束后执行操作,javascript,audio,timer,Javascript,Audio,Timer,尝试用音频学习一些简单的JS内容,因为我做了很多音频工作,我想我会学习如何将一些嵌入到我的网站中,更不用说只是复习一些简单的web编程了 我想在音频文件播放完毕后执行一个操作,但是一段时间(1)循环检查audio.End立即崩溃 我决定使用setInterval每秒检查一次,但这似乎也不起作用。没有撞车,但什么也没发生。我查阅了Mozilla文档,就我有限的经验来看,没有明显的解决方案 var audio = document.createElement('audio'); audio.id =

尝试用音频学习一些简单的JS内容,因为我做了很多音频工作,我想我会学习如何将一些嵌入到我的网站中,更不用说只是复习一些简单的web编程了

我想在音频文件播放完毕后执行一个操作,但是一段时间(1)循环检查audio.End立即崩溃

我决定使用setInterval每秒检查一次,但这似乎也不起作用。没有撞车,但什么也没发生。我查阅了Mozilla文档,就我有限的经验来看,没有明显的解决方案

var audio = document.createElement('audio');
audio.id = 'audio';
audio.src = 'track01.mp3';  
audio.play();
setInterval(checkFinished(), 1000);

function checkFinished()
{
    if(audio.ended == false)
    {
        document.write(audio.ended.toString());
    }
    else
    {
        document.write(audio.ended.toString());
        foo();
    }
}

您应该使用事件

var audio = document.createElement('audio'); audio.id = 'audio';
audio.src = 'track01.mp3'; 
document.body.appendChild(audio); // append somewhere else if wanted 
audio.play();
audio.onended = function(){
  console.log('You do say.');
}

正如PHPglue所说,您可以使用.oneded

下面是一个例子:

<audio id="myAudio" controls>
  <source src="track01.mp3" type="audio/mpeg">
</audio>

<script>
var aud = document.getElementById("myAudio");
aud.onended = function() {
    alert("The audio has ceased");
};
</script>  

获取一些信息

没有。我没有看到它被接受。至少有人可以使用这个链接作为参考。我想重点是尽可能多地提供关于一个问题的信息?我展示了一种使用音频标签来播放音频的方法,而不是依赖javascript,并提供了一个指向网站的链接来进一步解释。无论如何,谢谢。我以前不熟悉js事件系统。