Элементы управления и цикл не работают на видео Youtube (YouTube API) - PullRequest
0 голосов
/ 25 сентября 2018

Я использую API YouTube для загрузки видео YouTube на мою страницу.У меня есть 'controls': 0 и 'loop': 1, но заголовок видео все еще отображается, и он не зацикливается после завершения видео.Не знаете почему?

Код :

    //  Load  IFrame Player API 
    var tag = document.createElement('script');

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

    // Creating iframe
    var player;
    function onYouTubeIframeAPIReady() {
      player = new YT.Player('player', {
        videoId: 'jagIsKF8oVA',        
        playerVars: {'autoplay': 1, 'controls': 0, 'mute' : 1, 'loop': 1, 'rel': 0 },
        events: {
          'onReady': onPlayerReady,
          'onStateChange': onPlayerStateChange
        }
      });
    }

    //  Calls function
    function onPlayerReady(event) {
      event.target.playVideo();
    }

    var done = false;
    function onPlayerStateChange(event) {
      // if (event.data == YT.PlayerState.PLAYING && !done) {
      //   setTimeout(stopVideo, 6000);
      //   done = true;
      // }
    }
    function stopVideo() {
      // player.stopVideo();
    }

1 Ответ

0 голосов
/ 26 сентября 2018

Исходя из вашей проблемы, вы не можете использовать параметр controls, чтобы скрыть заголовок видео.Из документации ,

элементы управления

Этот параметр указывает, отображаются ли элементы управления видеопроигрывателя :

  • controls = 0 - Элементы управления плеером не отображаются в проигрывателе.
  • controls = 1 (по умолчанию) - Элементы управления проигрывателем отображаются в проигрывателе.

и для loop параметр:

loop

Примечание : этот параметр имеет ограниченную поддержку в проигрывателе AS3 и встраиваниях IFrame, что можетЗагрузите проигрыватель AS3 или HTML5.В настоящее время параметр loop работает только в проигрывателе AS3, если используется вместе с параметром playlist.Чтобы зациклить одно видео, установите значение параметра цикла равным 1 и установите для параметра параметра списка воспроизведения тот же идентификатор видео, который уже указан в URL-адресе API проигрывателя:

 https://www.youtube.com/v/VIDEO_ID?
     version=3
     &loop=1
     &playlist=VIDEO_ID

Для отображения информации, такой как заголовок,Вы можете использовать параметр showinfo:

showinfo

Поддерживаемые значения: 0 и 1.

Установка значения параметра в 0 приводит к тому, что проигрыватель не отображаетсятакую ​​информацию, как название видео и загрузчик до начала воспроизведения видео.

Если проигрыватель загружает список воспроизведения, и вы явно устанавливаете значение параметра на 1, то при загрузке проигрыватель также будет отображать миниатюрные изображения длявидео в плейлисте.

Примечание : Примечание. Этот параметр устарел и будет игнорироваться после 25 сентября 2018 года.

Даже если в нем указано, чтоshowinfo устарел вчера, я все еще пытался, если он все еще работает.И да, это все еще работает.

function onYouTubeIframeAPIReady() {
  player = new YT.Player('player', {
    videoId: 'jagIsKF8oVA',        
    playerVars: {'autoplay': 1, 'controls': 0, 'mute' : 1, 'loop': 1, 'rel': 0, 'showinfo': 0 },
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

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

...