Общие сведения
Из этой статьи вы узнаете, как встроить проигрыватель YouTube в приложение и какие параметры проигрывателя будут вам доступны.
Проигрыватель можно настроить с помощью различных параметров, которые добавляются в IFrame. Например, параметр autoplay
используется, чтобы включить автоматическое воспроизведение видео, loop
– для воспроизведения по кругу, а enablejsapi
– чтобы включить JavaScript API.
Ниже описаны все параметры, которые поддерживаются во встроенных проигрывателях YouTube.
Примечание: Окно просмотра встроенного проигрывателя должно быть не меньше 200 x 200 пикселей. Если в проигрывателе отображаются элементы управления, окно должно быть достаточно большим, чтобы полностью отобразить элементы управления, не сжимая окно просмотра меньше минимального размера. Минимальный размер окна просмотра для проигрывателей формата 16:9 составляет 480 х 270 пикселей.
Как встроить проигрыватель YouTube
Далее мы расскажем о том, как встроить проигрыватель с видео, а из последующего раздела вы узнаете, как загрузить в проигрыватель другой контент, например плейлисты и результаты поиска.
Встраивание IFrame с помощью тегов <iframe>
Определите в приложении тег <iframe>
, где URL src
будет указывать контент, загружаемый проигрывателем, а также другие параметры. Параметры height
и width
тега <iframe>
задают размеры проигрывателя.
Создавая элементы <iframe>
самостоятельно – без помощи IFrame Player API, – вы можете добавить параметры проигрывателя непосредственно в конец URL:
http://www.youtube.com/embed/VIDEO_ID
Тег <iframe>
ниже загружает проигрыватель размером 640x360 пикселей, который воспроизводит видео YouTube M7lc1UVf-VE
. Так как в URL параметр autoplay
имеет значение 1
, воспроизведение видео начинается автоматически после загрузки проигрывателя.
<iframe id="ytplayer" type="text/html" width="640" height="360" src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com" frameborder="0"/>
Встраивание IFrame с помощью IFrame Player API
Дождитесь загрузки кода JavaScript Player API, а затем следуйте инструкциям по использованию IFrame Player API. Настройки задаются вторым параметром в конструкторе проигрывателя (за них отвечает свойство playerVars
).
Ниже приведен пример того, как при помощи HTML и JavaScript вставить проигрыватель YouTube в элемент страницы со значением id
для параметра ytplayer
. Функция onYouTubePlayerAPIReady()
вызывается автоматически при загрузке кода IFrame Player API. Этот код не определяет ни параметры проигрывателя, ни другие обработчики событий.
<div id="ytplayer"></div> <script> // Load the IFrame Player API code asynchronously. var tag = document.createElement('script'); tag.src = "https://www.youtube.com/player_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // Replace the 'ytplayer' element with an <iframe> and // YouTube player after the API code downloads. var player; function onYouTubePlayerAPIReady() { player = new YT.Player('ytplayer', { height: '360', width: '640', videoId: 'M7lc1UVf-VE' }); } </script>
Как выбрать контент для воспроизведения
Встроенный проигрыватель может загружать видеоролики, плейлисты, добавленный пользователем контент или результаты поиска по определенному запросу.
Подробное описание каждого из вариантов приведено ниже:
-
Как загрузить видео
При встраивании IFrame идентификатор видео на YouTube указывается в URL IFrame
src
.http://www.youtube.com/embed/VIDEO_ID
Если вы используете YouTube Data API (v3), вы можете создать такие URL программными методами, извлекая идентификаторы из результатов поиска, плейлистов, видеоресурсов или других источников. Получив идентификатор, вставьте его вместо в URL выше
VIDEO_ID
. -
Как загрузить плейлист
Задайте параметру
listType
значениеplaylist
, а дляlist
установите идентификатор плейлиста, который вы хотите загрузить.http://www.youtube.com/embed?listType=playlist&list=PLAYLIST_ID
Обратите внимание на то, что в начале идентификатора должны стоять буквы
PL
, как показано ниже:http://www.youtube.com/embed?listType=playlist&list=PLC77007E23FF423C6
Если вы используете YouTube Data API (v3), вы можете создавать эти URL программными методами, извлекая идентификаторы плейлиста из результатов поиска, ресурсов канала или ресурсов действия. Получив идентификатор, вставьте его в URL выше вместо
PLAYLIST_ID
. -
Как загрузить добавленные пользователем видео
Задайте параметру
listType
значениеuser_uploads
, аlist
– имя пользователя YouTube, добавленные видео которого вы хотите загрузить.http://www.youtube.com/embed?listType=user_uploads&list=USERNAME
-
Как загрузить результаты поиска по определенному запросу
Задайте параметру
listType
значениеsearch
, а дляlist
установите название поискового запроса, который вас интересует.http://www.youtube.com/embed?listType=search&list=QUERY
Параметры
Все перечисленные ниже параметры являются необязательными.
Parameters | |
---|---|
|
Значения: 0 или 1 . Значение по умолчанию: 0 . Определяет, начинается ли воспроизведение исходного видео сразу после загрузки проигрывателя.
|
|
Значения: 1 . Значение по умолчанию определяется настройками пользователя. Значение 1 вызывает отображение закрытых титров по умолчанию даже в том случае, если пользователь отключил титры.
|
|
Этот параметр определяет цвет, которым выделяется просмотренная часть видео на индикаторе воспроизведения. Допустимые значения: red и white . По умолчанию используется красный цвет. Дополнительные сведения о цвете можно найти в блоге YouTube API.Примечание. Если для параметра color установлено значение white , параметр modestbranding отключается.
|
|
Значения: 0 , 1 или 2 . Значение по умолчанию: 1 . Этот параметр определяет, будут ли отображаться элементы управления проигрывателем. При встраивании IFrame с загрузкой проигрывателя Flash он также определяет, когда элементы управления отображаются в проигрывателе и когда загружается проигрыватель:
1 и 2 одинаково работают с точки зрения пользователя, однако значение controls=2 обеспечивает увеличение производительности по сравнению со значением controls=1 при встраивании IFrame. В настоящее время эти два значения все еще имеют некоторые визуальные различия в проигрывателе, такие как размер шрифта заголовка видео. Однако если разница между двумя значениями станет очевидной для пользователя, значение параметра по умолчанию может измениться с 1 на 2 .
|
|
Значения: 0 или 1 . Значение по умолчанию: 0 . Значение 1 отключает клавиши управления проигрывателем. Предусмотрены следующие клавиши управления.
|
|
Значения: 0 или 1 . Значение по умолчанию: 0 . Значение 1 включает API Javascript. Дополнительные сведения об API Javascript и его использовании см. в документации по API JavaScript.
|
|
Значение: положительное целое число. Этот параметр определяет время, измеряемое в секундах от начала видео, когда проигрыватель должен остановить воспроизведение видео. Обратите внимание на то, что время измеряется с начала видео, а не со значения параметра start или startSeconds , который используется в YouTube Player API для загрузки видео или его добавления в очередь воспроизведения.
|
|
Значения: 0 или 1 . Значение по умолчанию 1 отображает кнопку полноэкранного режима. Значение 0 скрывает кнопку полноэкранного режима. |
|
Определяет язык интерфейса проигрывателя. Для этого параметра используется двухбуквенный код ISO 639-1, хотя такие коды языков, как теги IETF (BCP 47), также могут обрабатываться корректно. Язык интерфейса используется для всплывающих подсказок в проигрывателе, а также влияет выбор языка субтитров по умолчанию. YouTube может выбрать другой язык субтитров для конкретного пользователя на основе его индивидуальных предпочтений и при наличии субтитров на этом языке. |
|
Значения: 1 или 3 . Значение по умолчанию: 1 . При значении 1 аннотации видео по умолчанию будут отображаться, а при значении 3 – по умолчанию будут скрыты.
|
|
Параметр list в сочетании с параметром listType определяет загружаемый в проигрыватель контент.
list и listType , в URL для встраивания IFrame не нужно указывать идентификатор видео.
|
|
Параметр listType в сочетании с параметром list определяет загружаемый в проигрыватель контент. Допустимые значения: playlist , search и user_uploads .Если вы задаете значения параметров list и listType , в URL для встраивания IFrame не нужно указывать идентификатор видео.
|
|
Значения: 0 или 1 . Значение по умолчанию: 0 . Если значение равно 1 , то одиночный проигрыватель будет воспроизводить видео по кругу, в бесконечном цикле. Проигрыватель плейлистов (или пользовательский проигрыватель) воспроизводит по кругу содержимое плейлиста.Примечание. Этот параметр имеет ограниченную поддержку в проигрывателе AS3 и при встраивании IFrame для загрузки проигрывателя AS3 или HTML5. В настоящее время параметр loop работает только в проигрывателе AS3, если он используется в сочетании с параметром playlist . Чтобы закольцевать одно видео, установите для параметра loop значение 1 , а для параметра playlist укажите тот же идентификатор видео, что и в URL Player API:http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID |
|
Этот параметр позволяет использовать проигрыватель YouTube, в котором не отображается логотип YouTube. Установите значение 1 , чтобы логотип YouTube не отображался на панели управления. Небольшая текстовая метка YouTube будет отображаться в правом верхнем углу при наведении курсора на проигрыватель во время паузы
|
|
Этот параметр обеспечивает дополнительные меры безопасности для IFrame API и поддерживается только при встраивании IFrame. Если вы используете IFrame API, т. е. устанавливаете для параметра enablejsapi значение 1 , обязательно укажите свой домен как значение параметра origin .
|
|
Значение представляет собой разделенный запятыми список идентификаторов видео для воспроизведения. Если вы указываете значение, сначала воспроизводится видео, указанное как VIDEO_ID в URL, а затем видео, указанные в параметре playlist .
|
|
Этот параметр определяет воспроизведение видео на странице или в полноэкранном режиме в проигрывателе HTML5 для iOS. Допустимые значения:
|
|
Значения: 0 или 1 . Значение по умолчанию: 1 . Этот параметр определяет, будут ли воспроизводиться похожие видео после завершения показа исходного видео.
|
|
Значения: 0 или 1 . Значение по умолчанию: 1 . При значении 0 проигрыватель перед началом воспроизведения не выводит информацию о видео, такую как название и автор видео.Если вы устанавливаете значение 1 , после загрузки плейлиста в проигрывателе отображаются значки всех видео в списке. Эта функция поддерживается только в проигрывателе AS3, который позволяет загружать плейлисты.
|
|
Значение: положительное целое число. Если этот параметр определен, то проигрыватель начинает воспроизведение видео с указанной секунды. Обратите внимание, что, как и для функции seekTo , проигрыватель начинает воспроизведение с ключевого кадра, ближайшего к указанному значению. Это означает, что в некоторых случаях воспроизведение начнется в момент, предшествующий заданному времени (обычно не более чем на 2 секунды).
|
История изменений
October 14, 2014
-
The HTML5 player now supports the
cc_load_policy
,disablekb
,end
,fs
,list
, andlistType
parameters. The parameter descriptions have been updated accordingly.
July 18, 2014
-
The new
hl
parameter can be used to set the player's interface language. The interface language is used for tooltips in the player and also affects the default caption track. The selected caption track may also depend on the availability of caption tracks and user's individual language preferences.The parameter's value is an ISO 639-1 two-letter language code, though other language input codes, such as IETF language tags (BCP 47) may also be handled properly.
-
The definition of the
playsinline
parameter, which only affects HTML5 players on iOS, has been modified slightly. The definition now notes that setting the parameter value to1
causes inline playback only forUIWebViews
created with theallowsInlineMediaPlayback
property set toTRUE
.
January 28, 2014
-
The
playsinline
parameter controls whether videos play inline or fullscreen in an HTML5 player on iOS. Setting the value to1
causes inline playback. -
The Selecting content to play section has been updated to explain how to find YouTube video IDs and playlist IDs using the YouTube Data API (v3) rather than the older API version.
-
The
controls
parameter's definition has been updated to reflect the fact that the parameter value only affects the time that the Flash player actually loads in IFrame embeds. In addition, for IFrame embeds, the parameter value also determines when the controls display in the player. If you set the parameter's value to2
, then the controls display and the Flash player loads after the user initiates the video playback.
May 10, 2013
This update contains the following changes:
-
YouTube no longer identifies experimental API features and services. Instead, we now provide a list of YouTube APIs that are subject to the deprecation policy.
July 20, 2012
This update contains the following changes:
-
The definition of the
controls
parameter has been updated to reflect support for a parameter value of2
and to explain that, for AS3 players, the parameter value determines the time when the Flash player actually loads. If thecontrols
parameter is set to0
or1
, the Flash player loads immediately. If the parameter value is2
, the Flash player does not load until the video playback is initiated.
June 5, 2012
This update contains the following changes:
-
The HTML5 player now supports the
color
,modestbranding
, andrel
parameters, and the definitions for these parameters have been updated accordingly. -
The definition of the
showinfo
parameter has been updated to explain how that if the player is loading a playlist, and you explicitly set the parameter value to1
, then, upon loading, the player will also display thumbnail images for the videos in the playlist. Note that this functionality is only supported for the AS3 player since that is the only player that can load a playlist.
May 4, 2012
This update contains the following changes:
-
The
showinfo
parameter's definition has been updated to reflect the fact that the HTML5 player supports this parameter.
May 3, 2012
This update contains the following changes:
-
The new
end
parameter specifies the time, measured in seconds from the start of the video, when the player should stop playing a video. Note that the time when playback is stopped is measured from the beginning of the video and not from the value of either thestart
player parameter or thestartSeconds
parameter, which is used in YouTube Player API functions for loading or queueing a video.
March 29, 2012
This update contains the following changes:
-
The new Embedding a YouTube player section explains different ways to embed a YouTube player in your application. This section covers manual IFrame embeds, IFrame embeds that use the IFrame Player API, and AS3 and AS2 object embeds. This section incorporates information from the old Example usage section, which has been removed.
-
The new Selecting content to play section explains how to configure the player to load a video, a playlist, search results for a specified query, or uploaded videos for a specified user.
-
The new
list
andlistType
parameters let you specify the content that the player should load. You can specify a playlist, a search query, or a particular user's uploaded videos. -
The definitions of the
fs
andrel
parameters have been updated to more clearly explain the default parameter values for the AS3 player. -
The
border
,color1
,egm
,hd
, andshowsearch
parameters, which are all only supported for the deprecated AS2 Player API, have been moved to a new section named deprecated parameters only used in the AS2 Player API. -
The document no longer provides a way to filter the parameter list to only display parameters supported in either the AS3, AS2, or HTML5 player. Instead, each parameter definition has been updated to identify the players that support that parameter.
August 11, 2011
This update contains the following changes:
-
The new
theme
andcolor
parameters let you customize the appearance of the embedded player's player controls. See the YouTube API blog for more information.
June 8, 2011
This update contains the following changes:
-
The new
modestbranding
parameter lets you use a YouTube player that does not show a YouTube logo. As of this release, the parameter was only supported for the AS3 embedded player and for IFrame embeds that loaded the AS3 player. As of June 5, 2012, the HTML5 player also supported this parameter.
February 14, 2011
This update contains the following changes:
-
The documentation has been updated to note that the AS2 Player API has been deprecated. The deprecation of the AS2 Player API was actually announced on October 14, 2009.
February 3, 2011
This update contains the following changes:
-
The documentation has been updated to identify parameters supported in the HTML5 (IFrame) embedded player.
-
The document now displays all of the parameters supported in any of YouTube's embedded players (HTML5, AS3, AS2).
-
The following parameters are supported in the AS2 player but have been deprecated for the newer AS3 and HTML5 players:
border
,color1
,color2
,egm
,hd
, andshowsearch
.In addition, the
loop
parameter has limited support in the AS3 player and in IFrame embeds, which could load either an AS3 or HTML player. Currently, theloop
parameter only works in the AS3 player when used in conjunction with theplaylist
parameter. To loop a single video, set theloop
parameter to1
and set theplaylist
parameter value to the same video ID already specified in the Player API URL:http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID
Similarly, the
controls
andplaylist
parameters are supported in the AS3 and HTML5 players but are not and will not be supported in the AS2 player.As noted above, IFrame embeds can load either an AS3 or HTML5 player. Though some parameters are not supported in both players, an IFrame embed that loads the AS3 player will support all parameters that work with that player and ignore all other parameters. Similarly, an IFrame embed that loads the HTML5 player will support all parameters that work with that player while ignoring all other parameters.
-
The parameter list has been updated to include the
autohide
parameter, which indicates whether the player's video controls will automatically hide after a video begins playing. -
The parameter list has been updated to include the
controls
parameter, which indicates whether the player's video controls will display at all. (Player controls do display by default.) -
The parameter list has been updated to include the
playlist
parameter, which specifies a comma-separated list of video IDs to play. -
The definition of the
fs
has been updated to note that the fullscreen option will not work if you load the YouTube player into another SWF. -
The example at the end of the document has been updated to use the embedded AS3 player instead of the embedded AS2 player. The parameters used in the example have also been updated to only include parameters that the AS3 player supports.
In addition, the instructions for constructing the URLs that contain player parameters have been updated to reflect the URL formats used by the AS3 and AS2 embedded and chromeless players as well as by the HTML5 player.