Hello,
j'ai plusieurs videos sur une page avec leur source respective dans un data-src de la balise video.
J'arrive bien à les précharger via une requete xhr mais je n'arrive pas à les jouer seulement quand elles sont toutes chargées. Via mon code ci-dessous, elles se jouent forcément les unes après les autres. Je n'arrive pas à sortir le play() de la boucle en fait.
Je ne sais pas trop comment m'y prendre... j'ai besoin d'une lecture simultanée et synchronisée.
Merci pour vos tuyaux.
Modifié par Pedrothelion (24 May 2024 - 20:30)
j'ai plusieurs videos sur une page avec leur source respective dans un data-src de la balise video.
J'arrive bien à les précharger via une requete xhr mais je n'arrive pas à les jouer seulement quand elles sont toutes chargées. Via mon code ci-dessous, elles se jouent forcément les unes après les autres. Je n'arrive pas à sortir le play() de la boucle en fait.
Je ne sais pas trop comment m'y prendre... j'ai besoin d'une lecture simultanée et synchronisée.
Merci pour vos tuyaux.
function preload_videos() {
let all_videos = document.querySelectorAll('video');
all_videos.forEach((video) => {
var url = video.getAttribute('data-src');
var xhrReq = new XMLHttpRequest();
xhrReq.open('GET', url, true);
xhrReq.responseType = 'blob';
xhrReq.onload = function() {
if (this.status === 200) {
var videoBlob = this.response;
var vid = URL.createObjectURL(videoBlob);
video.src = vid;
video.play();
}
}
xhrReq.onerror = function() {
console.log('erreur');
}
xhrReq.send();
});
}
document.addEventListener("DOMContentLoaded", () => {
preload_videos();
});
Modifié par Pedrothelion (24 May 2024 - 20:30)