Je mets en pause une vidéo en utilisant sa méthode pause()
.. le problème est que l'audio continue de jouer ... J'ai également essayé de la mettre en pause depuis la console Javascript de Firefox .. . Rien ne se passe. La vidéo est au format .ogg et ne joue même pas dans Chrome (parce que je pense que ce n'est pas supporté). J'ai hébergé la vidéo sur Amazon S3 et elle est parfaitement diffusée. Je crée l'élément dynamiquement, en chargeant ses informations à partir d'une requête JSON. Voici un code:La suspension de la vidéo n'arrête pas l'audio dans la balise vidéo html5
function showVideo() {
var video = videodata;
var videobox = $('#videobox').first();
var videoplayer = document.getElementById('videoplayer');
if (video.Enabled) {
if ((videoplayer != null && videoplayer.currentSrc != video.Location) || videoplayer == null) {
console.log('Creating video elem');
videobox.empty();
videobox.append('<video id="videoplayer" preload="auto" src="' +
video.Location + '" width="100%" height="100%" autoplay="autoplay" loop="loop" />');
videobox.show();
}
} else {
if (videoplayer != null) {
videoplayer.pause();
console.log('Pausing video...');
}
console.log('Deleting video elem');
videobox.hide();
videobox.empty();
}
}
J'ai déjà posté une question similaire avant ... mais maintenant je suis en utilisant d'autres navigateurs, donc je pensais que je dois créer une nouvelle question.
Voici le code de travail (grâce à l'utilisateur heff!)
function showVideo() {
var video = videodata;
var videobox = $('#videobox').first();
var videoplayer = document.getElementById('videoplayer');
if (video.Enabled) {
if ((videoplayer.src != video.Location) || videoplayer.src == '') {
console.log('Playing video: ' + video.Location);
videoplayer.src = video.Location;
videoplayer.load();
videoplayer.play();
videobox.show();
}
} else {
if (videoplayer.src != '') {
console.log('Pausing video...');
videoplayer.pause();
videoplayer.src = '';
videobox.hide();
}
}
}
J'ai suivi votre suggestion de ne pas recréer l'élément à chaque fois et cela fonctionne. Mais j'ai vérifié si la méthode entrait deux fois dans le même if-block: non. Je pense que c'est un bug .. btw, j'ai posté le code de travail, si quelqu'un a le même problème. ;-) –
Génial! Content que cela ait aidé. – heff