J'ai passé beaucoup de temps à essayer de comprendre pourquoi la vidéo intégrée comme ici:
<video height="256" loop autoplay muted controls id="vid">
<source type="video/mp4" src="video_file.mp4"></source>
<source type="video/ogg" src="video_file.ogg"></source>
</video>
commence la lecture automatiquement une fois la page chargée dans FireFox mais ne peut pas effectuer de lecture automatique dans les navigateurs basés sur Webkit. Cela ne s'est produit que sur certaines pages aléatoires. Jusqu'à présent, je n'ai pas pu trouver la cause. Je soupçonne des balises non fermées ou des JS étendus créés par les éditeurs de CMS.
javascript
html
google-chrome
safari
webkit
Adam Bubela
la source
la source
Réponses:
La meilleure solution que j'ai pu obtenir était d'ajouter ce code juste après le
</video>
... pas joli mais fonctionne en quelque sorte.
MISE À JOUR Récemment, de nombreux navigateurs ne peuvent lire automatiquement les vidéos que si le son est désactivé, vous devrez donc également ajouter un
muted
attribut à la balise vidéola source
$("videoID").get(0).play();
stackoverflow.com/questions/4646998/…$("video[autoplay]").each(function(){ this.play(); });
Après avoir utilisé la
play()
manipulation jQuery ou DOM comme suggéré par les autres réponses, cela ne fonctionnait toujours pas (la vidéo n'était pas en lecture automatique) dans Chrome pour Android (version 56.0).Selon cet article dans developer.google.com , à partir de Chrome 53, l'option de lecture automatique est respectée par le navigateur, si la vidéo est désactivée .
Ainsi, l'utilisation d'
autoplay muted
attributs dans la balise vidéo permet à la vidéo d'être lue automatiquement dans les navigateurs Chrome à partir de la version 53.Extrait du lien ci-dessus:
la source
muted
et aautoplay
fait l'affaire. Merci!Il arrive que Safari et Chrome sur le bureau n'aiment pas la manipulation DOM autour de la balise vidéo. Ils ne déclencheront pas l'ordre de lecture lorsque l'attribut de lecture automatique est défini, même si l'événement canplaythrough s'est déclenché lorsque le DOM autour de la balise vidéo a changé après le chargement initial de la page. Fondamentalement, j'ai eu le même problème jusqu'à ce que je supprime un jQuery .wrap () autour de la balise vidéo et après cela, il est lu automatiquement comme prévu.
la source
.get(0)
or just$('#vid')[0].play()
Vous pouvez vérifier ici
alors ajoutez juste en sourdine
la source
Pour moi, le problème était que l'
muted
attribut devait être ajouté dans lavideo
balise. C'est à dire:la source
Chrome ne permet pas la lecture automatique de la vidéo avec le son activé, alors assurez-vous d'ajouter un
muted
attribut à lavideo
balise comme cecila source
J'ai juste le même problème avec ma vidéo
Après recherche, j'ai trouvé une solution:
Si je règle les attributs "précharge" sur "vrai", la vidéo démarre normalement
la source
L'ajout du code ci-dessous au bas de la page a fonctionné pour moi. Je ne sais pas pourquoi cela fonctionne :(
la source
la source
var video = document.querySelector('video'); video.muted = true; video.play()
Seule cette solution m'a aidé,
<video autoplay muted ...>...</video>
n'a pas fonctionné ...la source
Aucune des autres réponses n'a fonctionné pour moi. Ma solution de contournement était de déclencher un clic sur la vidéo elle-même; hacky (à cause du délai d'attente nécessaire) mais cela fonctionne bien:
la source
Nous avons récemment résolu un problème similaire avec une vidéo intégrée et avons constaté que la lecture automatique et les attributs muets n'étaient pas suffisants pour notre implémentation.
Nous avons ajouté un troisième attribut "playinline" au code et cela a résolu le problème pour les utilisateurs iOS.
Ce correctif est spécifique aux vidéos qui doivent être lues en ligne. De https://webkit.org/blog/6784/new-video-policies-for-ios/ :
Sur iPhone, les éléments seront désormais autorisés à jouer en ligne et ne passeront pas automatiquement en mode plein écran lorsque la lecture commencera. les éléments sans attributs de lecture en ligne continueront à nécessiter le mode plein écran pour la lecture sur iPhone. Lorsque vous quittez le plein écran avec un geste de pincement, les éléments sans lecture en ligne continueront à être lus en ligne.
la source
Google a mis à jour la politique de lecture automatique. La lecture automatique ne fonctionne qu'en mode muet. Vérifiez le lien https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
la source
Essaye ça:
C'est comme ça que je fais normalement. La boucle, les contrôles et la lecture automatique ne nécessitent pas de valeur, ce sont des attributs booléens.
la source
Ceci est dû au fait que Chrome empêche maintenant la lecture automatique dans la vidéo html5, donc par défaut, ils n'autorisent pas la lecture automatique. afin que nous puissions modifier ces paramètres à l'aide des paramètres du drapeau chrome. ce n'est pas possible pour un cas normal, j'ai donc trouvé une autre solution. cela fonctionne parfaitement ... (ajoutez preload = "auto")
la source
J'ai passé deux heures à essayer toutes les solutions mentionnées ci-dessus.
C'est ce qui a finalement fonctionné pour moi:
la source
Sur l'iPhone Safari, lorsque le niveau de beurre est faible et que l'iPhone est en mode faible consommation, il ne sera pas lu automatiquement, même si vous avez les attributs suivants: lecture automatique, boucle, coupée, lecture en ligne définie sur votre balise html vidéo.
Me promener, j'ai trouvé que le travail consiste à avoir un événement de geste utilisateur pour déclencher la lecture vidéo:
vous pouvez en savoir plus sur les gestes de l'utilisateur et les politiques vidéo pour iOS sur le site Webkit:
https://webkit.org/blog/6784/new-video-policies-for-ios/
la source
J'ai eu un cas où cela avait quelque chose à voir avec l'ordre des différents types de fichiers. Essayez de le changer et voyez si cela aide.
la source
J'ai commencé par lire toutes les vidéos visibles, mais les anciens téléphones ne fonctionnaient pas bien. Alors maintenant, je joue la vidéo la plus proche du centre de la fenêtre et je mets le reste en pause. Vanilla JS. Vous pouvez choisir l'algorithme que vous préférez.
la source
J'ai résolu le même problème avec,
Vous devez lancer les vidéos une fois la page affichée.
la source
Essayez d'échanger
autoPlay
contreautoplay
.Cela semble parfois sensible à la casse. Très bizarre car cela a fonctionné comme
autoplay
pour moi, mais seulement si j'incluscontrols
la source