Автозапуск Youtube не работает на мобильных устройствах со встроенным HTML5-плеером

к моей проблеме, у меня есть одна ссылка <a href="http://www.youtube.com/embed/YT-ID" class="overlay_video"></a>. Я хочу воспроизвести видео, щелкнув ссылку в окне наложения fancybox. Это не проблема. Проблема заключается в параметрах, например "autoplay"или " autohide".

следующая ссылка не работает:

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

оверлей-окно открыто, но видео не воспроизводится автоматически.

EDIT: я хочу использовать HTML5-плеер на мобильных устройствах. На рабочем столе-браузер работает с параметрами, но не на мобильных устройствах.

3 ответов


Как оказалось, автозапуск не может быть выполнен на устройствах iOS (iPhone, iPad, iPod touch) и Android.

см.https://stackoverflow.com/a/8142187/2054512 и https://stackoverflow.com/a/3056220/2054512


посмотрите на код ниже. Протестировано и работает на мобильных и планшетных устройствах.



 (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();
      }
    
  



существует способ сделать автозапуск youtube и полные плейлисты. Получите Adblock browser для Android, а затем перейдите на сайт youtube и настройте его для настольной версии страницы, закройте Adblock browser, а затем снова откройте, и у вас будет настольная версия, где будет работать автозапуск.

использование настольной версии также будет означать, что AdBlock будет работать. Мобильная версия вызывает автономный проигрыватель YouTube, поэтому вам нужен рабочий стол версия страницы, так что автозапуск будет работать, и поэтому блокировка рекламы будет работать.