【问题标题】:HTML5 video 'ended' event not firing in Chrome 22.0+HTML5 视频“结束”事件未在 Chrome 22.0+ 中触发
【发布时间】:2012-10-24 06:45:34
【问题描述】:

我在这个话题上四处寻找,但找不到任何不满的地方。我的测试表明,Mac 和 PC 上最新版本的 Google Chrome (22+) 的视频出现故障ended 事件。

我在这里创建了一个示例页面,其中包含一个 HTML5 视频和一个 ended 的事件侦听器,两者都使用 jQuery 和常规 addEventListener 在视频结束时调用警报。它在 Safari 和 Firefox 中被正确调用,但不是 Chrome:

http://sadbot.com/videotest.html

如果有人知道为什么它不起作用或者我做错了什么,请告诉我。请注意,我有与此类似的实时生产代码设置,它已经运行了几个月,并且似乎与 Chrome 的最新推出不兼容。

【问题讨论】:

  • 使用显示控件并滚动到结束事件触发
  • 有趣的观察阿伦,如果您启用控件并快进到最后,视频结束事件确实会触发,否则它仍然会损坏。不能解决问题,但可以让我们更好地理解。
  • 对于一个 11 秒的视频,仅显示 10 秒..但在第 11 秒发生射击??
  • 我知道这与视频元数据有关。
  • 很好地发现了 Arun,我现在在这里将其报告为 Chromium 错误:stackoverflow.com/questions/13044122/…

标签: google-chrome video


【解决方案1】:

如果启用循环,结束事件不会触发。

【讨论】:

  • 好点,但您可以在示例中看到视频没有循环播放。
  • 如果启用循环,你会得到一个“寻找”事件,当你得到它时,玩家的 currentTime 属性为 0,所以你可以查找它并将其称为“结束”事件。
  • @mhenry1384 不错的解决方法,谢谢
【解决方案2】:

仅供参考,该问题已被验证为Chromium tracker 中的错误。我最终通过首先在视频源中指定 .ogv 文件而不是在 h.264 文件之后来“解决”这个问题。显然 Chrome 现在支持 .ogv 就好了,没有同样的问题。

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 2015-05-02
    • 1970-01-01
    • 2013-12-13
    • 2012-07-09
    • 2012-04-29
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多