<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.
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.
Примеры
<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>
Техническое описание
| Категории содержимого | Нет |
|---|---|
| Разрешенное содержимое | Нет; это пустой элемент. |
| Пропуск тега | Должен иметь открывающий тег и не должен иметь закрывающего. |
| Разрешенные родительские элементы | |
| Неявная роль 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 | 5031До Firefox 50, установкаsrc не работала, хотя ошибок не было. |
12.1 | 6 | 25 | 5031До Firefox 50, установкаsrc не работала, хотя ошибок не было. |
14 | 6 | 1.5 | 4.4 |
srclang |
23 | 12 | 31 | 12.1 | 6 | 25 | 31 | 14 | 6 | 1.5 | 4.4 |
См. также
© 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