Page 1 sur 1

Lire à partir d'un timecode avec video.js

Posté : 19 déc. 2019, 21:04
par Histonic
Bonjour,

J'ai besoin de faire démarrer la lecture d'une vidéo à partir d'un certain point, en cliquant par exemple sur un lien ou un bouton.

En utilisant l'élément HTML <video>, j'y arrivais très bien avec ce petit code :

Code : Tout sélectionner

<script type="text/javascript">
		var lecteur;
		function timecode(secondes) {
		    lecteur = document.getElementById("mavideo");
		    lecteur.currentTime = (secondes);
		    lecteur.play();
		}
	</script>
Et en cliquant par exemple sur ce lien :

Code : Tout sélectionner

<a href=#mavideo onclick="timecode(60)">Lire à partir de 1 min</a>
Comme le lecteur natif généré par le navigateur ne convenait pas, j'ai importé video.js (version 7.6.6) avec le thème Fantasy.
Et depuis, mon code ci-dessous ne fait rien...

Quelqu'un a-t-il une idée ? Merci.

Re: Lire à partir d'un timecode avec video.js

Posté : 01 févr. 2020, 16:24
par NY152
Bonjour,

Je propose un début de réponse qui devrait fonctionner.

Voici une petite fonction transformant les paramètres d'une URL en tableau associatif. Code que j'ai un peu modifié d'un code trouvé sur Internet :

Code : Tout sélectionner

function extractUrlParams() {
    let t = location.search.substring(1).split('&');
    let f = [];
    for (let i = 0; i < t.length; i++) {
        let x = t[i].split('=');
        f[x[0]] = x[1];
    }
    return f;
}
Les quelques lignes qui suivent servent à chercher le paramètre d'URL seconds et l'affiche en console.

Rien de très compliqué à adapter et d'en faire une petite fonction à appeler à ta ligne lecteur.currentTime ^^

Code : Tout sélectionner

let paramsUrl = extractUrlParams();
for (let key in paramsUrl) {
    let value = paramsUrl[key];
    if (key === 'seconds') {
        console.log(paramsUrl[key]);
    }
}
J'espère t'avoir aidé :)