HTML5中的audio对象有个属性为 ended,改属性是返回音频是否播放结束,是boolean类型的。
例如我自己写的一个判断:
例如我自己写的一个判断:
this.audioPlay=function(soundPath,callback){
$("#shapeAudio").attr("src",soundPath);
var shapeAudio=document.getElementById("shapeAudio");
shapeAudio.play();
/*判断声音是否播放完成,播放完成之后执行回调函数*/
if(callback != undefined){
var is_playFinish = setInterval(function(){
if(shapeAudio.ended){
callback();
window.clearInterval(is_playFinish);
}
}, 10);
}
}
改判断为当声音播放完成之后再执行回调函数callback
或者:
<!DOCTYPE HTML>
<html>
<body>
<audio id="audio" controls="true" autoplay="true">
<source src="/i/song.ogg" type="audio/ogg">
<source src="/i/song.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<script>
var audio = document.getElementById("audio");
audio.loop = false;
audio.addEventListener('ended', function () {
alert('over');
}, false);
</script>
</body>
</html>
你可以通过audio的属性ended(返回音频的播放是否已结束)来判断是否播放完,
if(object==audio.ended){
if(object==audio.ended){
alert("弹出信息");}大概就这样了