Existe uma maneira simples de retroceder um elemento de vídeo html com javascript / jquery? [duplicado]

Oct 29 2020

Tenho um vídeo que preciso mostrar em um site. Não posso permitir que os usuários avancem, mas eles precisam ser capazes de retroceder. Modifiquei o exemplo aqui:https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_av_prop_controller

para o seguinte:

<!DOCTYPE html> 
<html> 
<body> 

<video id="myVideo" width="320" height="176" onclick="playOrPause();" oncontextmenu="return false;" controls >
  <source src="https://www.w3schools.com/tags/mov_bbb.mp4" type="video/mp4">
  <source src="https://www.w3schools.com/tags/mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>
<div>
    
<input type="button" id="btnRewind" name="btnRewind" value="Rewind" onclick="rewindVideo();" />
<input type="button" id="btnPlay" name="btnPlay" value="Play" onclick="playVideo();" />
<input type="button" id="btnPause" name="btnPause" value="Pause" onclick="pauseVideo();" />
</div>

<script>
    var video = document.getElementById("myVideo");
    
    function playOrPause() {
        if (video.paused) {
            playVideo();
        } else {
            pauseVideo();
        }
    }
    
    function playVideo() {
        video.play();        
    }
    
    function pauseVideo() {
        video.pause();
    }
    
    function rewindVideo() {
        //video.currentTime -= 0.5;
        video.playBackRate = -2;
        video.play();
    }    

</script> 

<p>Video courtesy of <a href="https://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>

</body> 
</html>

Existe uma maneira simples de retroceder o vídeo da posição atual? Eu gostaria de evitar o uso de uma biblioteca inteira para uma função de retrocesso. jQuery ficaria bem.

Respostas

חִידָה Oct 29 2020 at 15:26

Como retroceder um elemento de "vídeo" 2 segundos com JS :

function Rewind() { 
var myVideo = document.getElementById("myVideo");
myVideo.currentTime = myVideo.currentTime -2; }

Como avançar um elemento de "vídeo" por 2 segundos com JS :

function FastForward() { 
var myVideo = document.getElementById("myVideo");
myVideo.currentTime = myVideo.currentTime +2; }