HTML5 视频元素"seeked"事件



HTML视频播放器中有两个搜索事件。

  1. 搜寻:搜寻操作开始
  2. 已搜索:已完成搜索操作

对于每个相应的搜索事件,我们都搜索到了事件。但在我的一些寻找事件的项目中,我们没有得到被寻找的事件。

我的问题是:

  1. 为什么会发生这样的事情,以至于我们被发现
  2. 媒体播放器是否可能无法捕捉所有事件

如果在第一次查找操作结束之前发生第二次查找事件,则您将只看到最后一次查找的事件。

这在大视频文件中可能相对容易发生,例如,如果整个数据没有被预取,或者当用户浏览时间轴控件时。

let seeking = false;
vid.onseeking = e => {
if (seeking) {
// if we enter here it means we had a seeking event
// that hasn't been matched by a seeked one
console.log("already seeking");
}
seeking = true;
};
vid.onseeked = e => {
seeking = false;
};
vid.play().then(() => {
vid.currentTime = 10;
vid.currentTime = 15;
});
video {
height: 150px
}
<video controls id=vid src=https://upload.wikimedia.org/wikipedia/commons/2/22/Volcano_Lava_Sample.webm muted></video>

最新更新