Youtube autoplay ne fonctionne pas sur les appareils mobiles avec lecteur HTML5 intégré

À mon problème, j'ai un lien <a href="http://www.youtube.com/embed/YT-ID" class="overlay_video"></a>. Je veux lire la vidéo en cliquant sur le lien dans une fenêtre de superposition fancybox. Ce n'est pas un problème. Le problème est les paramètres, par exemple "autoplay" ou "autohide".

Le lien suivant ne fonctionne pas:

<a href="http://www.youtube.com/embed/YT-ID?autoplay=1" class="overlay_video"></a>

La fenêtre de superposition s'est ouverte, mais la vidéo ne se lit pas automatiquement.

EDIT: je veux utiliser le lecteur HTML5 sur les appareils mobiles. Sur un navigateur de bureau, Il fonctionne avec les paramètres, mais pas sur mobile appareil.

47
demandé sur Tom Zych 2013-02-26 17:48:59

3 réponses

Il s'avère que la lecture automatique ne peut pas être effectuée sur les appareils iOS (iPhone, iPad, iPod touch) et Android.

Voir https://stackoverflow.com/a/8142187/2054512 et https://stackoverflow.com/a/3056220/2054512

48
répondu orzechow 2017-05-23 11:33:26

Jetez un oeil sur le code ci-dessous. Testé et trouvé travailler sur les appareils mobiles et tablettes.



 (video player) will replace this  tag. -->
    

    
      // 2. This code loads the IFrame Player API code asynchronously.
      var tag = document.createElement('script');

      tag.src = "https://www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

      // 3. This function creates an  (and YouTube player)
      //    after the API code downloads.
      var player;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: 'M7lc1UVf-VE',
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
      }

      // 4. The API will call this function when the video player is ready.
      function onPlayerReady(event) {
        event.target.playVideo();
      }

      // 5. The API calls this function when the player's state changes.
      //    The function indicates that when playing a video (state=1),
      //    the player should play for six seconds and then stop.
      var done = false;
      function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING && !done) {
          setTimeout(stopVideo, 6000);
          done = true;
        }
      }
      function stopVideo() {
        player.stopVideo();
      }
    
  


6
répondu Zubi 2016-11-25 07:34:33

Il y a un moyen de faire youtube autoplay, et les listes de lecture complètes jouent à travers. Obtenez le navigateur Adblock pour Android, puis accédez au site web youtube, et configurez-le pour la version de bureau de la page, fermez le navigateur Adblock, puis rouvrez, et vous aurez la version de bureau, où la lecture automatique fonctionnera.

L'utilisation de la version de bureau signifie également que AdBlock fonctionnera. La version mobile appelle le lecteur YouTube autonome, c'est pourquoi vous voulez la version de bureau de la page, de sorte que la lecture automatique fonctionnera, et ainsi le blocage des annonces fonctionnera.

1
répondu Chilly8 2016-01-09 07:15:27