Controlar la reproducción de video en P5.js


#1

Estoy intentando moverme a lo largo de la reproducción de un video usando los cursores izquierdo y derecho de teclado. Para ello estoy intentando modificar la velocidad de reproducción pero obtengo el siguiente mensaje en la consola:

Uncaught DOMException: Failed to set the ‘playbackRate’ property on ‘HTMLMediaElement’: The provided playback rate (-2) is not in the supported playback range.

El código que utilizo viene a ser una cosa así:

function keyPressed() {
    if (keyCode === LEFT_ARROW) {
       video.speed(1.5);
    } else if (keyCode === RIGHT_ARROW) {
       video.speed(-2);        
    }
}

function keyReleased() {
    video.speed(1);
}

¿Alguna idea? ¿No se aceptan velocidades negativas?


#2

Mire esta pagina en la referencia donde indica que no todos los browsers suportan velocidades negativas. Sugiero que intentes otros bowsers como Edge, FireFox, Chrome, Opera, etc.

Kf


#3

Muchas gracias, kfrajer, era una cosa que había imaginado. No es la primera vez que los cambios en Chrome me han hecho una jugada parecida y cosas que ya tenía resueltas han dejado de funcionar al actualizar la versión.

He intentado una aproximación distinta, forzando el vídeo a recorrer el timeline hacia atrás, pero aún hay algo que se me escapa pues no consigo que se dibuje así (el vídeo se queda congelado y salta bruscamente al liberar el teclado) :blush:

var backwardsInterval;

function keyPressed() {
    if (keyCode === LEFT_ARROW) {
       video.speed(1.5);
    } else if (keyCode === RIGHT_ARROW) {
            backwardsInterval = setInterval(function() {
                var video = document.getElementsByTagName("video");
                video[0].currentTime += -0.1;
            },30);        
    }
}

function keyReleased() {
    video.speed(1);
    clearInterval(backwardsInterval);
}

¡Muchas gracias de nuevo!