YouTube Iframe встраивает автоматическое воспроизведение - PullRequest
201 голосов
/ 02 сентября 2011

Я пытаюсь встроить новую версию видео YouTube в iframe и запустить его автоматически.

Насколько я могу судить, нет способа сделать это путем изменения флагов в URL. Есть ли способ сделать это с помощью JavaScript и API?

Ответы [ 13 ]

408 голосов
/ 02 сентября 2011

Это работает в Chrome, но не в Firefox 3.6 (предупреждение: видео RickRoll):

<iframe width="420" height="345" src="http://www.youtube.com/embed/oHg5SJYRHA0?autoplay=1" frameborder="0" allowfullscreen></iframe>

JavaScript API для встраивания iframe существует, но все еще публикуется в качестве экспериментальной функции.

ОБНОВЛЕНИЕ: API iframe теперь полностью поддерживается, и "Создание объектов YT.Player - Пример 2" показывает, как установить "автозапуск" в JavaScript.

40 голосов
/ 23 января 2013

Встроенный код YouTube отключен по умолчанию.Просто добавьте autoplay=1 в конце атрибута "src".Например:

<iframe src="http://www.youtube.com/embed/xzvScRnF6MU?autoplay=1" width="960" height="447" frameborder="0" allowfullscreen></iframe>
25 голосов
/ 04 июля 2018

С апреля 2018 года Google внесла некоторые изменения в политику Автозапуск . Так что вам придется сделать что-то вроде этого:

<iframe src="https://www.youtube.com/embed/VIDEO_ID?autoplay=1" allow='autoplay'></iframe>
10 голосов
/ 06 мая 2014

2014 iframe встраивает, как встраивать видео на YouTube с автоматическим воспроизведением и без рекомендуемых видео в конце клипа

rel=0&amp;autoplay 

Пример ниже:.

<iframe width="640" height="360" src="//www.youtube.com/embed/JWgp7Ny3bOo?rel=0&amp;autoplay=1" frameborder="0" allowfullscreen></iframe>
7 голосов
/ 15 июля 2015

в конце iframe src, добавьте &enablejsapi=1, чтобы разрешить использование js API для видео

и затем с помощью jquery:

jQuery(document).ready(function( $ ) {
  $('.video-selector iframe')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
});

это должно автоматически воспроизвести видео на документе.

обратите внимание, что вы также можете использовать это внутри функции щелчка, чтобы щелкнуть по другому элементу, чтобы запустить видео

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

Edit: На самом деле я не уверен на 100% в документе. Iframe будет готов, потому что YouTube все еще может загружать видео. Я на самом деле использую эту функцию внутри функции щелчка:

$('.video-container').on('click', function(){
  $('video-selector iframe')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
  // add other code here to swap a custom image, etc
});
6 голосов
/ 30 августа 2016

Советы по нескольким запросам для тех, кто не знает (мимо меня и будущего меня)

Если вы делаете один запрос с URL, просто ?autoplay=1 работает , как показано в ответе mjhm

<iframe src="https://www.youtube.com/embed/oHg5SJYRHA0?autoplay=1"></iframe>

Если вы делаете несколько запросов, помните, что первый начинается с ?, а остальные начинаются с &

Скажем, вы хотите отключить похожие видео, но включить автозапуск ...

Это работает

<iframe src="https://www.youtube.com/embed/oHg5SJYRHA0?rel=0&autoplay=1"></iframe>

и это работает

<iframe src="https://www.youtube.com/embed/oHg5SJYRHA0?autoplay=1&rel=0"></iframe>

Но это не сработает ..

<iframe src="https://www.youtube.com/embed/oHg5SJYRHA0?rel=0?autoplay=1"></iframe>

<iframe src="https://www.youtube.com/embed/oHg5SJYRHA0&autoplay=1&rel=0"></iframe>

пример сравнения

https://jsfiddle.net/Hastig/p4dpo5y4/

подробнее

Прочтите ответ NextLocal ниже для получения дополнительной информации об использовании нескольких строк запроса

6 голосов
/ 16 ноября 2012

Флаги или параметры, которые можно использовать с встраиваниями IFRAME и OBJECT, описаны здесь; подробности о том, какой параметр работает с каким плеером, также четко указаны:

Встроенные проигрыватели YouTube и параметры проигрывателя

Вы заметите, что autoplay поддерживается всеми игроками (AS3, AS2 и HTML5).

3 голосов
/ 14 августа 2018

август 2018 г. Я не нашел рабочего примера реализации iframe.Другие вопросы были связаны только с Chrome, который немного его выдал.

Вам придется отключить звук mute=1, чтобы автозапуск на Chrome.FF и IE работают нормально, используя autoplay=1 в качестве параметра.

<iframe src="//www.youtube.com/embed/{{YOUTUBE-ID}}?autoplay=1&mute=1" name="youtube embed" allow="autoplay; encrypted-media" allowfullscreen></iframe>
2 голосов
/ 17 мая 2018

Чтобы принять принятый mjhm ответ на Chrome 66 в мае 2018 года, я добавил allow=autoplay в iframe и enable_js=1 в строку запроса:

<iframe allow=autoplay width="420px" height="345px" src="http://www.youtube.com/embed/oHg5SJYRHA0?autoplay=1&enable_js=1"></iframe>
1 голос
/ 21 июня 2016

1 - добавить &enablejsapi=1 к IFRAME SRC

2 - функция jQuery:

  $('iframe#your_video')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');

Работает нормально

...