Невозможно воспроизвести видео с YouTube через iframe API, когда видео включено - PullRequest
0 голосов
/ 18 февраля 2019

После обновления Chrome до версии 72 мой пользовательский проигрыватель, работающий через API YouTube Iframe, перестал работать.Он по-прежнему отлично работает в Firefox или Chrome <= 71. </p>

Используя приведенный ниже код, при запуске функции play () видео начинает буферизоваться, а затем останавливается без воспроизведения.

function onYouTubeIframeAPIReady() {
  ytIframe = $("#player")[0];
  ytPlayer = new YT.Player(ytIframe, {
    events: {
      'onReady': () => {},
      'onStateChange': () => {}
    }
  });
}

function play() {
  ytPlayer.playVideo();
}

Единственный способ заставить его работать - это вставить видео с помощью mute=1 параметра url в iframe src.Но даже когда я делаю это, если я пытаюсь включить звук проигрывателя после playVideo (используя ytPlayer.unMute()), видео снова останавливается.

Есть идеи, что изменилось с этим обновлением Chrome 72?Это ошибка YouTube / Chrome или ожидаемое поведение?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Вы описываете новое поведение Chrome.

Теперь вам нужно вручную щелкнуть в iframe - чтобы начать играть или включить звук.

Чтобы использовать «автоигру», вы должны использовать"немой", а также.Убедитесь, что вы не отключили «элементы управления», потому что пользователь должен щелкнуть символ громкоговорителя, чтобы включить звук.

0 голосов
/ 22 февраля 2019

"player.play ()" не работает в последней версии Chrome, мы можем решить эту проблему, добавив атрибут allow = "autoplay" в родительский iframe

Чтобы узнать причину, выМожно проверить: "Что меняется?"@ https://developers.google.com/web/updates/2019/01/user-activation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...