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

问题描述 投票:0回答:1

我有本机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>
javascript jquery html5 html5-video playback
1个回答
1
投票

$("video").one(会在你问的时候解决你的问题,但我同意评论者的说法,你可能最好直接使用poster属性而不是这个hack。

$(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>
© www.soinside.com 2019 - 2024. All rights reserved.