如何检测HTML5音频标签是否已被监听至少x秒?
我想在用户收听音频元素超过5秒时记录。如何使用HTML5检测到这一点?我会处理播放事件,然后在播放完成后使用setTimeout调用跟踪。类似这样的代码(伪代码): 和往常一样,根据您的需要,这可能会变得更加复杂。您也可以只使用ontimeupdate事件来跟踪playhead当前所在的位置。有关html5音频事件的参考,请查看此页面:如何检测HTML5音频标签是否已被监听至少x秒?,html,audio,Html,Audio,我想在用户收听音频元素超过5秒时记录。如何使用HTML5检测到这一点?我会处理播放事件,然后在播放完成后使用setTimeout调用跟踪。类似这样的代码(伪代码): 和往常一样,根据您的需要,这可能会变得更加复杂。您也可以只使用ontimeupdate事件来跟踪playhead当前所在的位置。有关html5音频事件的参考,请查看此页面: 祝你好运 播放事件之后以及音频实际开始播放时可能会有延迟。在timeupdate上设置事件侦听器更安全。 var timeHandler = null
祝你好运
播放
事件之后以及音频实际开始播放时可能会有延迟。在timeupdate
上设置事件侦听器更安全。
var timeHandler = null;
// if they stop listening, don't give them the alert
myAudioElement.addEventListener('stop', function() {
if (timeHandler) clearTimeout(timeHandle);
});
// when they start to play, set an event to pop up 5 seconds later
myAudioElement.addEventListener('play', function() {
timeHandler = setTimeout(5000,function() {
// here I would make some kind of ajax call to log the event
alert("it's been 5 seconds!");
});