【问题标题】:HTML5 video doesn't load the first 1-2 seconds of videoHTML5 视频不加载视频的前 1-2 秒
【发布时间】:2017-09-01 10:38:27
【问题描述】:

我的网站上有一个带有 <video> 标记的视频,其源代码为 .mp4。

在桌面火狐上,它运行良好。 但是对于 Chrome,如果我尝试将视频倒回到开头,它会从大约 2 秒的视频开始。

在移动设备上,不加载视频的前 2 秒,尝试使用 firefox 和 chrome。

有人知道它有什么问题吗?

谢谢

【问题讨论】:

  • 视频的长度是多少?
  • 10 秒
  • 视频元素的宽度是多少?
  • width="100%" 如果我​​尝试嵌入我想要的位置。如果我只是加载像xy.com/path/to/video.mp4 这样的视频,则没有宽度。

标签: html video html5-video


【解决方案1】:

原因:

您的问题是 <video> 元素 width 属性与视频长度的关系。由于您的视频只有 10 秒,<video> 元素中的滚动条无法跳转到确切的开头,因为某些浏览器根据<video> 元素的width 与视频长度之间的比率对滚动条进行了错误的分段。

可能的解决方案:

添加 Javascript 以将电影倒退到第 0 秒。您可以使用onseeked 事件并检查用户是否尝试寻找电影的开头,然后将视频的当前时间设置为 0 - 即准确的开头。

例子:

 var video = document.getElementById("myVideo");

 video.onseeked = function() {
    if (video.currentTime <= 2)
        video.currentTime = 0;
 };

【讨论】:

  • 感谢您的回答。每个短于 15 秒的视频都有这个问题。不幸的是,您的解决方案不起作用。 video.load() 解决了这个问题,但它每次都会加载视频,所以我想我不会使用它。所以我正在尝试......但非常感谢您的原因
  • 为什么不使用我的解决方案呢?它应该做你想做的事情......
  • 该视频是由 5 张图片组成的幻灯片,每 2 秒更改一次。您的代码以某种方式从 2 秒的第二张图片开始,不知道为什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多