在audio.ended之后做动作

时间:2015-09-16 23:09:51

标签: javascript audio timer

尝试学习一些带有音频的简单JS东西,因为我做了大量的音频工作,我想我会学习如何将一些内容嵌入到我的网站中,更不用说只是简单地编写一些简单的Web编程了。

我希望在音频文件播放完毕后有一个动作,但是一会儿(1)循环检查audio.ended立即崩溃。

我决定使用setInterval来检查每一秒,但这似乎也不起作用。没有崩溃但没有任何反应。我已经查看了Mozilla文档,据我所知,由于我的经验有限,没有明显的解决方案。

UIAlertController

2 个答案:

答案 0 :(得分:1)

你应该使用一个事件。

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.');
}

答案 1 :(得分:1)

正如PHPglue所说,你可以使用.onended。

这是一个例子:

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

(我不喜欢不必要的js,但脚本部分仍适用于你只需使用js作为音频)

查看http://www.w3schools.com/tags/av_event_ended.asp了解一些信息