在HTML5 Audio元素停止播放时进行侦听

时间:2013-08-27 14:54:37

标签: javascript html5 html5-audio

当HTML5音频元素停止播放时,我需要调用一个函数。具体来说,该功能将重置搜索栏并将暂停图标更改为播放图标。

这是我的JavaScript:

var audio = document.getElementById('audio');

audio.addEventListener('ended', stopAudio);

function stopAudio() {
    audio.stop();
    $('.play-pause .play').show();
    $('.play-pause .pause').hide();
}

..只有里面的代码一旦被调用就不会执行。音频正在成功播放并成功结束,它只是没有调用我的功能。我错过了什么?

4 个答案:

答案 0 :(得分:0)

这是因为您使用getElementById并在我认为您要使用audio时传递getElementsByTagName,或者您的音频元素ID错误。

答案 1 :(得分:0)

我需要:

audio.stop;

而不是......

audio.stop();

修正了它:)

答案 2 :(得分:0)

HTML音频元素没有方法stop()。你的事件处理程序没有“工作”的原因是因为行audio.stop();抛出一个错误,并且它下面的任何内容都不会执行。

答案 3 :(得分:0)

您的代码应如下所示,以便检测您的音频是否已结束。无法检测它是否已停止,但您可以检测它是否已经结束或暂停。如果您要查找暂停时间的代码,请将“已结束”替换为“暂停”

document.getElementById('audio').addEventListener("ended",function() {

$('.play-pause .play').show();
$('.play-pause .pause').hide();
}