<track>: The Embed Text Track element
<track>
HTML 元素用作媒体元素 <audio>
和 <video>
的子元素。每个轨道元素都允许你指定一个定时文本轨道(或基于时间的数据),该轨道可以与媒体元素并行显示,例如在视频顶部或音轨旁边叠加字幕或隐藏字幕。
¥The <track>
HTML element is used as a child of the media elements, <audio>
and <video>
.
Each track element lets you specify a timed text track (or time-based data) that can be displayed in parallel with the media element, for example to overlay subtitles or closed captions on top of a video or alongside audio tracks.
可以为媒体元素指定多个轨道,包含不同类型的定时文本数据,或已针对不同语言环境翻译的定时文本数据。使用的数据要么是已设置为默认值的轨道,要么是基于用户偏好的类型和翻译。
¥Multiple tracks can be specified for a media element, containing different kinds of timed text data, or timed text data that has been translated for different locales. The data that is used will either be the track that has been set to be the default, or a kind and translation based on user preferences.
轨道的格式为 网络 VTT 格式(.vtt
文件) - 网络视频文本轨道。
¥The tracks are formatted in WebVTT format (.vtt
files) — Web Video Text Tracks.
Try it
属性
¥Attributes
该元素包括 全局属性。
¥This element includes the global attributes.
default
-
该属性指示应启用该轨道,除非用户的首选项表明另一个轨道更合适。这只能用于每个媒体元素的一个
track
元素。 kind
-
文本轨道的用途。如果省略,默认类型为
subtitles
。如果属性包含无效值,它将使用metadata
。允许使用以下关键字:subtitles
- 字幕提供观众无法理解的内容的翻译。例如,英语电影中非英语的语音或文本。
- 字幕可能包含附加内容,通常是额外的背景信息。例如,星球大战电影开头的文本,或场景的日期、时间和地点。
captions
- 隐藏式字幕提供转录,也可能提供音频翻译。
- 它可能包括重要的非语言信息,例如音乐提示或声音效果。它可以指示提示的来源(例如音乐、文本、角色)。
- 适合耳聋或静音时的用户。
chapters
- 章节标题旨在当用户导航媒体资源时使用。
metadata
- 脚本使用的轨道。对用户不可见。
label
-
用户可读的文本轨道标题,浏览器在列出可用文本轨道时使用该标题。
src
-
轨道的地址(
.vtt
文件)。必须是有效的 URL。必须指定此属性,并且其 URL 值必须与文档具有相同的来源 — 除非track
元素的<audio>
或<video>
父元素具有crossorigin
属性。 srclang
-
轨道文本数据的语言。它必须是有效的 BCP 47 语言标签。如果
kind
属性设置为subtitles
,则必须定义srclang
。
使用说明
跟踪数据类型
¥Track data types
track
添加到媒体的数据类型在 kind
属性中设置,该属性可以采用 subtitles
、captions
、chapters
或 metadata
的值。该元素指向包含定时文本的源文件,当用户请求其他数据时浏览器会公开该文本。
¥The type of data that track
adds to the media is set in the kind
attribute, which can take values of subtitles
, captions
, chapters
or metadata
. The element points to a source file containing timed text that the browser exposes when the user requests additional data.
一个媒体元素不能有多个具有相同 kind
、srclang
和 label
的 track
。
¥A media element cannot have more than one track
with the same kind
, srclang
, and label
.
检测提示变化
¥Detecting cue changes
每次当前呈现的提示发生更改时,由 track
属性指示的基础 TextTrack
都会收到 cuechange
事件。即使轨道未与媒体元素关联,也会发生这种情况。
¥The underlying TextTrack
, indicated by the track
property, receives a cuechange
event every time the currently-presented cue is changed. This happens even if the track isn't associated with a media element.
如果轨道与媒体元素关联,则使用 <track>
元素作为 <audio>
或 <video>
元素的子元素,cuechange
事件也会发送到 HTMLTrackElement
。
¥If the track is associated with a media element, using the <track>
element as a child of the <audio>
or <video>
element, the cuechange
event is also sent to the HTMLTrackElement
.
let textTrackElem = document.getElementById("texttrack");
textTrackElem.addEventListener("cuechange", (event) => {
let cues = event.target.track.activeCues;
});
以编程方式添加文本轨道
¥Adding text tracks programmatically
表示 <track>
元素的 JavaScript 接口是 HTMLTrackElement
。与元素关联的文本轨道可以从 HTMLTrackElement.track
属性中获取,并且属于 TextTrack
类型。
¥The JavaScript interface that represents the <track>
element is HTMLTrackElement
.
The text track associated with an element can be obtained from the HTMLTrackElement.track
property, and is of type TextTrack
.
TextTrack
对象也可以使用 HTMLMediaElement.addTrack()
方法添加到 HTMLVideoElement
或 HTMLAudioElement
元素中。与存储在 TextTrackList
中的媒体元素相关联的 TextTrack
对象,可以使用 HTMLMediaElement.textTracks
属性进行检索。
¥TextTrack
objects also can be added to a HTMLVideoElement
or HTMLAudioElement
elements using the HTMLMediaElement.addTrack()
method.
The TextTrack
objects associated with a media element stored in a TextTrackList
, which can be retrieved using the HTMLMediaElement.textTracks
property.
示例
¥Examples
<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>
技术总结
¥Technical summary
内容类别 | 没有任何 |
---|---|
允许的内容 | 没有任何;这是 void element。 |
标签遗漏 | 必须有开始标记,并且不能有结束标记。 |
允许的父级 | |
隐式 ARIA 角色 | 没有对应的角色 |
允许的 ARIA 角色 | 不允许 role |
DOM 接口 | HTMLTrackElement |
规范
Specification |
---|
HTML Standard # the-track-element |
浏览器兼容性
BCD tables only load in the browser
也可以看看
¥See also