Spec-Zone.ru › HTML

<track>: Элемент субтитров

Базовая поддержка Широко распространена

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Элемент <track> HTML используется в качестве дочернего элемента медиаэлементов, <audio> и <video>. Каждый элемент track позволяет указать субтитры или титры, которые можно отобразить параллельно с медиаэлементом, например, чтобы наложить субтитры или титры на видео или рядом с аудиодорожками.

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

Трек форматируется в формате WebVTT (.vtt файлы) — Веб-видео субтитры.

Попробуйте

Атрибуты

Этот элемент включает глобальные атрибуты.

default

Этот атрибут указывает, что трек должен быть включён, если пользовательские настройки не определяют более подходящий трек. Этот атрибут может быть использован только на одном track элементе на один медиа элемент.

kind

Способ использования субтитров. Если не указано, тип по умолчанию subtitles. Если атрибут содержит недопустимое значение, используется значение metadata. Разрешены следующие значения:

  • subtitles
    • Субтитры обеспечивают перевод содержимого, которое зритель не может понять. Например, речь или текст, не являющийся английским, в англоязычном фильме.
    • Субтитры могут содержать дополнительную информацию, обычно дополнительную справочную информацию. Например, текст в начале фильмов Звёздных войн или дата, время и место действия сцены.
  • captions
    • Субтитры содержат транскрипцию и, возможно, перевод аудио.
    • Они могут включать важную невербальную информацию, такую как музыкальные обозначения или звуковые эффекты. Они могут указывать источник обозначения (например, музыка, текст, персонаж).
    • Подходят для слабослышащих пользователей или при выключенном звуке.
  • chapters
    • Заголовки глав предназначены для навигации по медиа ресурсу.
  • metadata
    • Трек, используемый скриптами. Невидим для пользователя.
label

Название субтитров, которое используется браузером при отображении доступных субтитров.

src

Адрес субтитров (.vtt файл). Должен быть допустимым URL-адресом. Этот атрибут должен быть указан, и его значение URL должно иметь тот же домен, что и документ, — если родительский элемент <audio> или <video> элемента track имеет атрибут crossorigin.

srclang

Язык текста субтитров. Должен соответствовать допустимому тегу языка BCP 47. Если атрибут kind установлен в subtitles, то атрибут srclang должен быть определён.

Примечания по использованию

Типы данных трека

Тип данных, который track добавляет к медиа, задаётся в атрибуте kind, который может принимать значения subtitles, captions, chapters или metadata. Элемент указывает на файл с временными метками, которые браузер предоставляет при запросе дополнительной информации.

Медиаэлемент не может иметь более одного track с одинаковыми значениями kind, srclang и label.

Обнаружение изменений в метках

Базовый TextTrack, указанный свойством track, получает событие cuechange каждый раз, когда изменяется текущая метка. Это происходит даже если трек не связан с медиаэлементом.

Если трек связан с медиаэлементом, используя элемент <track> как дочерний элемент <audio> или <video> элемента, событие cuechange также отправляется элементу HTMLTrackElement.

js
let textTrackElem = document.getElementById("texttrack");

textTrackElem.addEventListener("cuechange", (event) => {
  let cues = event.target.track.activeCues;
});

Добавление субтитров программно

Интерфейс JavaScript, представляющий элемент <track> — HTMLTrackElement. Субтитры, связанные с элементом, можно получить из свойства HTMLTrackElement.track, и оно будет типа TextTrack.

TextTrack объекты также можно добавить в HTMLVideoElement или HTMLAudioElement элементы с помощью метода HTMLMediaElement.addTextTrack(). TextTrack объекты, связанные с медиаэлементом, хранятся в списке TextTrackList, который можно получить с помощью свойства HTMLMediaElement.textTracks.

Примеры

html
<video controls poster="/images/sample.gif">
  <source src="sample.mp4" type="video/mp4" />
  <source src="sample.ogv" type="video/ogv" />
  <track kind="captions" src="sampleCaptions.vtt" srclang="en" />
  <track kind="chapters" src="sampleChapters.vtt" srclang="en" />
  <track kind="subtitles" src="sampleSubtitles_de.vtt" srclang="de" />
  <track kind="subtitles" src="sampleSubtitles_en.vtt" srclang="en" />
  <track kind="subtitles" src="sampleSubtitles_ja.vtt" srclang="ja" />
  <track kind="subtitles" src="sampleSubtitles_oz.vtt" srclang="oz" />
  <track kind="metadata" src="keyStage1.vtt" srclang="en" label="Key Stage 1" />
  <track kind="metadata" src="keyStage2.vtt" srclang="en" label="Key Stage 2" />
  <track kind="metadata" src="keyStage3.vtt" srclang="en" label="Key Stage 3" />
  <!-- Fallback -->
  …
</video>

Техническое описание

Категории содержимого Нет
Разрешенное содержимое Нет; это пустой элемент.
Пропуск тега Должен иметь открывающий тег и не должен иметь закрывающего.
Разрешенные родительские элементы

Медиаэлемент, <audio> или <video>.

Неявная роль ARIA Нет соответствующей роли
Разрешенные роли ARIA Нет разрешённых ролей role
Интерфейс DOM HTMLTrackElement

Спецификации

Спецификация
Стандарт HTML
# the-track-element

Совместимость браузеров

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
track 23 12 31 12.1 6
25Не работает для видео в полноэкранном режиме.
31 12.1 6
1.5Не работает для видео в полноэкранном режиме.
4.4Не работает для видео в полноэкранном режиме.
default 23 12 31 12.1 6 25 31 12.1 6 1.5 4.4
kind 23 12 31 12.1 6 25 31 14 6 1.5 4.4
label 23 12 31 12.1 6 25 31 14 6 1.5 4.4
src 23 12 50
31До Firefox 50, установка src не работала, хотя ошибок не было.
12.1 6 25 50
31До Firefox 50, установка src не работала, хотя ошибок не было.
14 6 1.5 4.4
srclang 23 12 31 12.1 6 25 31 14 6 1.5 4.4

См. также

  • Формат текстовых дорожек WebVTT
  • HTMLMediaElement.textTracks

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API