JQuery 从第二个零开始播放 html5 视频,但如果用户暂停视频,则保留当前帧

JQuery play html5 video starting from second zero but preserving the current frame if the user pause the video

本文关键字:视频 暂停 用户 保留 如果 开始 播放 html5 JQuery 第二个      更新时间:2023-09-26

我对原生html5视频有问题,我想用从视频帧中获取的poster进行自定义。所以我决定我的所有视频都将参数#t=1排队,该参数告诉浏览器从第二个1开始播放视频。这样,我就可以在我的视频中有一个poster而不是黑色背景。但是我有一个简化如下的问题...使用以下 JQuery code我告诉浏览器从第二个0而不是第二个1重新初始化视频,这是因为我的视频中有#t=1.所以有了这个JQuery code我部分解决了这个问题,因为我有视频poster,视频虽然设置为在第二个1从第二个0开始后开始,但这里出现了一个问题,用户点击视频,将其暂停,但总是从第二个0开始, 但我宁愿万一用户暂停视频,这是从中断的地方开始,而不是从头开始。

这是我的伪代码...

$(document).ready(function() {
  var video = $("video")[0];
  // video starting from #t=1 now play from #t=0
  $("video").on("play", function() {
    this.currentTime = 0;
  });
  // pseudo code...
  if pause video then continue from interruption
});

每个建议都值得赞赏。谢谢。

$(document).ready(function() {
  var video = $("video")[0];
  $("video").on("play", function() {
    this.currentTime = 0;
   }); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="video-html5" style="float: left; margin: 0 5px 5px 0"><video width="560" height="315" controls preload="metadata"><source src="https://archive.org/download/ElephantsDream/ed_1024_512kb.mp4#t=1" type="video/mp4"></video></div>

$("video").one(会解决你的问题,但我同意评论者的观点,你可能最好直接使用 poster 属性而不是这个黑客

$(document).ready(function() {
  $("video").one("play", function() {
    this.currentTime = 0;
   }); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="video-html5" style="float: left; margin: 0 5px 5px 0"><video width="560" height="315" controls preload="metadata"><source src="https://archive.org/download/ElephantsDream/ed_1024_512kb.mp4#t=1" type="video/mp4"></video></div>