js怎么让html5的audio标签播放完成后弹出提示
3个回答
展开全部
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
例如我自己写的一个判断:
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
展开全部
你可以通过audio的属性ended(返回音频的播放是否已结束)来判断是否播放完,
if(object==audio.ended){
alert("弹出信息");}大概就这样了
if(object==audio.ended){
alert("弹出信息");}大概就这样了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用ended事件吧
追问
给个例子
追答
Your browser does not support the audio element.
var audio = document.getElementById("audio");
audio.loop = false;
audio.addEventListener('ended', function () {
alert('over');
}, false);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询