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