0

我试图从 HTML 5 视频标签中收听视频“结束”事件。它似乎在测试期间被非常不定期地触发。大多数时候它根本不会发送。我已使用 Adob​​e Midea Encoder 将我的 .mov 编码为 mp4。

有谁知道为什么它可能不起作用,我是否应该在媒体编码器上对我的文件进行编码以获得更好的结果。

这就是我收听结束的方式(Nel 是视频元素;):

el.addEventListener("ended", this.endHandler);

这是使用的基本 HTML 即时消息:

<video id="v1"></video>

我用代码动态设置视频 src。它玩得很好,有时我会得到结束的事件,但并非总是如此。

谢谢

4

1 回答 1

2

似乎视频有时会在实际持续时间之前停止播放。大约 0.0000025 秒之前,这意味着未发送结束的事件。

要解决这个问题,我会舍入持续时间并检查 setInterval 上的当前时间。

//duration = 5.26 ( rounded down from 5.2600041)
if(this.video.currentTime >= this.duration) {
  //VIDEO ENDED
}
于 2013-02-06T17:28:41.277 回答