2 votes

Impossible de mettre la vidéo en pause au chargement si la lecture automatique est activée.

C'est ma première question dans stackoverflow donc pardonnez-moi pour les erreurs.

J'ai essayé de créer un CMS simple utilisant videojs dans lequel l'utilisateur pourrait télécharger sa vidéo et personnaliser ses attributs (par exemple : lecture automatique, boucle et contrôles).

Lorsqu'ils changeront les attributs, je recréerai automatiquement l'ensemble des balises et les réinitialiserai. J'ai fait cela pour que la prévisualisation soit correcte, en particulier sur Firefox, car l'utilisateur téléchargera un fichier mp4 et Firefox affichera le message d'avertissement "non pris en charge" si je ne l'ai pas réinitialisé (videojs sera automatiquement converti en flash).

Le problème est que l'utilisateur a coché l'attribut "autoplay". En effet, lorsque j'initialise la vidéo, elle est lue automatiquement et je ne veux pas de ce genre de comportement dans le CMS (bien que je le veuille dans le site publié).

J'ai essayé de mettre le lecteur en pause une fois qu'il était prêt, mais il joue toujours.

Mon hypothèse est que la commande de pause a été lancée avant la commande de lecture des attributs de lecture automatique.

Voici la balise html utilisée pour cela

<video id="example_video_1" class="video-js vjs-default-skin" controls width="640" height="264" poster="http://video-js.zencoder.com/oceans-clip.jpg" autoplay preload="auto" data-setup="{}"> 
   <source type="video/mp4" src="http://video-js.zencoder.com/oceans-clip.mp4"> 
</video>

Et voici celui que j'ai utilisé pour initialiser et mettre en pause la vidéo

   _V_(example_video_1).ready( function() {
       var myplayer = this;
       myplayer.pause(); 
   });     

Une idée ? Toute aide est la bienvenue. Dans le pire des cas, si tout le reste échoue, je pourrais utiliser des balises différentes pour l'aperçu et le site publié (pas de lecture automatique pour l'aperçu). J'ai créé un script pour cela : http://jsfiddle.net/F8JhL/2/

EDIT : J'ai remarqué que parfois l'événement pause fonctionne vraiment, mais pas automatiquement (environ 1 à 2 secondes après la lecture de la vidéo), mais le plus souvent il ne fonctionne pas du tout.

0voto

Devin Chen Points 11

Je trouve le même problème en utilisant la version 4.1.0 de videojs. Lorsque je passe à la version 5.1.0, ce conflit disparaît.

Vous pouvez télécharger la dernière version à l'adresse suivante https://github.com/videojs/video.js/releases

Je pense donc que ce bogue a été corrigé (mais je ne peux pas trouver la révision du commit pour cette correction).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X