1

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

这是我的 JavaScript:

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

audio.addEventListener('ended', stopAudio);

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

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

4

4 回答 4

0

这是因为当我认为您的意思是使用时您正在使用getElementById和传递,或者您的音频元素的 id 错误。audiogetElementsByTagName

于 2013-08-27T15:04:45.040 回答
0

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

于 2013-08-27T19:55:44.677 回答
0

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

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

$('.play-pause .play').show();
$('.play-pause .pause').hide();
}
于 2014-01-03T22:43:02.677 回答
0

我需要:

audio.stop;

代替...

audio.stop();

哪个修复了它:)

于 2013-08-27T15:07:26.803 回答