【问题标题】:Internet Explorer not playing html 5 videos after playing 50 videosInternet Explorer 在播放 50 个视频后不播放 html 5 个视频
【发布时间】:2020-02-21 14:31:36
【问题描述】:

我有一个电子学习课程,其中包含 120 个 1 到 3 分钟的视频,带有自动播放和 preload="auto"。

它打包在 SCORM 1.2 中并托管在 CornerStone 上。

观看 +-40 视频后,视频无法播放,仅显示黑屏 Internet Explorer 11。

用 javascript 指示视频播放不会让它播放。

查看视频readyState返回0。

查看 IE 网络分析显示视频有 206 或 304 错误。

如果我退出课程并重新进入,它会返回到我所在的位置并开始正常播放视频。

发生了什么,我可以做些什么来解决这个问题?

编辑:问题似乎是由于 IE h264 编解码器上的一些错误。视频可能播放良好,第二次观看时,激活控件时会显示“读取编解码器错误”消息。

【问题讨论】:

  • 我建议您尝试在多台机器上进行此测试。它可以帮助您了解这是特定机器的问题还是任何机器都可能发生的问题。如果该站点是公开可用的,那么您可以共享该测试的链接。告诉我们,您使用哪个操作系统进行此测试?尝试检查最新的更新,安装它并使用它进行测试。低硬件配置也可能是导致此问题的原因,或者 IE 遇到任何限制都可能导致此问题。
  • 这种情况已经发生在多台 PC 上,Windows 10 和 IE11(都是最新的)。虽然我们尝试过的每台机器都会发生这种情况,但低端机器更有可能出现这个问题。
  • 我们不知道您的网站使用什么代码来加载和播放这些视频。没有产生问题的代码示例。所以我们不能说这个问题是否可以通过优化代码来解决。在这种情况下,您可以尝试检查并找到使用 JS 的 IE 浏览器,并尝试采取进一步措施避免该问题。
  • 纯视频 html5,带有通过 jquery 加载的 html 页面。这似乎是一个 IE BUG。
  • 不检查代码,不能说是IE浏览器问题。如果需要确认。我建议你发布一个示例代码来测试。

标签: internet-explorer html5-video


【解决方案1】:

这听起来像是 IE 的 HTML 5 视频实现中的内存泄漏或其他错误。 206 和 304 代码是红鲱鱼;也不是错误(只要浏览器已经缓存了某些内容,就会发生 304 - 服务器用 304 代码告诉浏览器“您已经获得了最新版本” - 加载视频时 206 代码很常见:这是服务器说“这是响应的一部分,因此您可以开始播放它,并且还会有更多”)。

如果这确实是内存泄漏(或其他一些特定于 IE 的问题),您的解决方案需要解决它。您可以在每 30 个视频(或一些有意义的数字)之后重新加载浏览器窗口;如果您要这样做,您可以跟踪上次在 URL 上播放的视频 - 实际上,无论如何这可能是一件好事(如果用户重新加载页面,认为浏览器会“记住”他们的上一个视频是)。

在页面加载时有条件地加载指定视频的难易程度取决于您的实施。但是您可以跟踪 URL 上的最新视频,例如 #lastVidId=1224(通过在加载新视频时设置 location.href 以编程方式更改哈希)或 ?lastVidId=1234(以编程方式更改 URL 而无需重新加载使用pushState()replaceState() 的页面(在您的情况下可能是后者)。

希望这会有所帮助;我认为这是一个需要解决的问题,而不是正面解决,尤其是因为它涉及到像 IE 这样的旧浏览器。

【讨论】:

  • 课程已经记住了用户的位置。目前,我们鼓励人们不要使用 IE,如果他们确实使用了,请刷新页面以防视频中断。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
  • 1970-01-01
  • 2020-11-29
  • 2016-05-06
  • 2011-03-02
  • 1970-01-01
相关资源
最近更新 更多