我所需要的只是当我按下“暂停”(“自定义”按钮以暂停视频,而不是视频播放器本身的暂停)时,它将像下面这样暂停 1.如果视频正在前进,则它将在当前帧上暂停,并从我暂停的当前帧开始播放。 2.如果视频正反转,它将继续反转直到达到零或开始时间。
我已经尝试过暂停它,但是反方向仍然有效(如果向后)。
Here is my html tag
<div id="qqx64h8yp1">
<div class="videos">
<div class="element-wrap">
<video crossorigin="anonymous" style="" class="b_forward">
<source src="https://www.w3schools.com/tags/mov_bbb.mp4" type="video/mp4">
</video>
</div>
</div>
</div>
Now here is my jquery/javascript
function boomerangForward(targetId){
var videoX = document.getElementById(targetId).getElementsByTagName('video')[0],
audioContent = $('#' + targetId).find('source').attr('src'),
splitTime = audioContent.split('#')[1],
endTime = splitTime.split(',')[1];
$('#' + targetId).find('video').addClass('b_forward');
videoX.play();
if ($('#' + targetId).find('video').hasClass('b_forward')) {
videoX.ontimeupdate = function() {
checkEndTime(2.5, videoX, targetId);
};
}
}
function checkEndTime(endTime, videoX, targetId){
var videoStatus = videoX.paused,
videoCurrent = videoX.currentTime;
if (videoCurrent >= endTime) {
videoX.pause();
if (videoStatus) {
console.log('Video Reached 2.5');
boomBackward(videoX, targetId);
}
}
}
function boomBackward(videoX, targetId){
$('#' + targetId).find('video').removeClass('b_forward');
intervalRewind = setInterval(function(){
if(videoX.currentTime > 0){
$('#' + targetId).find('video').addClass('b_reverse');
videoX.currentTime += -.1;
}else{
$('#' + targetId).find('video').removeClass('b_reverse');
clearBoomerangIntervals(videoX, targetId);
}
},100);
}
function clearBoomerangIntervals(videoX, targetId){
var videoX = document.getElementById(targetId).getElementsByTagName('video')[0];
clearInterval(intervalRewind);
if (videoX.currentTime == 0) {
boomerangForward(targetId);
}
}
我要寻找的结果是,当我暂停视频后退时,它会跳过间隔,如果再次播放,它将继续反转直到达到零。