web-dev-qa-db-fra.com

La lecture automatique désactivée dans Chrome ne fonctionne toujours pas

J'ai du mal à faire en sorte que Chrome puisse lire automatiquement une vidéo. J'ai mis la vidéo en sourdine et la lecture est automatique dans Safari et Firefox, mais pas en chrome. 

            <video autoplay muted poster="path to video" id="bgvid">

        <source src="assets/uploads/hero/livePhotoNoSound.mp4" type="video/webm">

            <source src="assets/uploads/hero/livePhotoNoSound.mp4" type="video/mp4">

        </video>    

Je veux que la vidéo commence à jouer automatiquement. Actuellement, la vidéo est chargée mais reste immobile. Tout ce que j'ai lu dit que tant qu'il est en sourdine, il devrait jouer, mais ce n'est pas le résultat que j'obtiens.

6
Ryan Swanson

La solution de @ richard-lindner n'a pas fonctionné pour moi, mais elle m'a mis sur la bonne voie.

Dans mon cas, bien que l'attribut muted soit présent, Chrome l'ignorait et échouait en mode silencieux à moins qu'il ne soit également défini explicitement dans javacript, par exemple.

var video = document.getElementById("myVideo");
video.oncanplaythrough = function() {
    video.muted = true;
    video.play();
}

Il est intéressant de noter que forcer la lecture automatique à l’aide de javascript tout en omettant la ligne video.muted = true a affiché l’erreur de stratégie de lecture automatique dans la console, ce qui suggère que Chrome ignore en effet l’attribut muted dans certains cas. Pour moi, cela ressemble à un bug de la stratégie de lecture automatique de Chrome.

Notez que l'erreur s'est produite uniquement lorsque la vidéo n'a pas été mise en cache. Si elle était mise en cache, la lecture automatique fonctionnait comme prévu.

17
Jonny Green

Vous pouvez utiliser oncanplay="this.muted=true" sur votre tag vidéo

<video  muted loop autoplay oncanplay="this.muted=true">
    <source src="your src" type="video/mp4">
    Your browser does not support HTML5 video.
</video>
1
Richard Lindner

L'exemple ci-dessous, avec une modification minime de votre code, est lu en chrome (version 62.0.3202.94) sur un Mac (10.12.6):

<video autoplay muted poster="path to video" id="bgvid">
    <source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
</video>  

Il se peut que Safari et Friefox soient en train de jouer à mp4 et à chrome à Webm, et au problème lié à la vidéo WebM elle-même plutôt qu'à votre code HTML5.

1
Mick