TextTrack

基线 广泛可用

此功能已得到很好的建立,并在许多设备和浏览器版本中都能正常工作。它自以下时间起在浏览器中可用 2015 年 7 月.

**TextTrack** 接口是 WebVTT API 的一部分,表示与媒体元素关联的文本轨道。

此类型的对象拥有将在视频的不同时间点显示在视频上的 VTTCue 对象列表。

可以使用 HTMLMediaElement.addTextTrack() 方法将 TextTrack 对象添加到 HTMLVideoElementHTMLAudioElement 元素中,这与使用 <track> 元素在 <video><audio> 元素内以声明方式添加文本轨道具有相同的效果。TextTrack 对象存储在 TextTrackList 中,可以使用 HTMLMediaElement.textTracks 属性检索。

EventTarget TextTrack

实例属性

此接口还继承了 EventTarget 的属性。

TextTrack.activeCues 只读

一个 TextTrackCueList 对象,列出当前活动的一组文本轨道提示。如果媒体的当前播放位置位于提示的开始时间和结束时间之间,则提示处于活动状态。因此,对于显示的提示(例如字幕或字幕),活动提示当前正在显示。

TextTrack.cues 只读

一个 TextTrackCueList,其中包含轨道的所有提示。

TextTrack.id 只读

一个字符串,用于标识轨道(如果存在)。如果它没有 ID,则此值为一个空字符串 ("")。如果 TextTrack<track> 元素关联,则轨道的 ID 与元素的 ID 匹配。

TextTrack.inBandMetadataTrackDispatchType 只读

返回一个字符串,指示轨道的带内元数据轨道分派类型。

TextTrack.kind 只读

返回一个字符串,指示 TextTrack 描述的文本轨道的类型。它必须是允许的值之一。

TextTrack.label 只读

一个人类可读的字符串,包含文本轨道的标签(如果存在);否则,这是一个空字符串 (""),在这种情况下,如果需要向用户公开轨道的标签,则可能需要使用轨道的其他属性由您的代码生成自定义标签。

TextTrack.language 只读

一个字符串,指定文本轨道内容的书写语言。该值必须符合 RFC 5646:语言标识标签(也称为 BCP 47) 中指定的格式,就像 HTML lang 属性一样。例如,这可以是美国英语的 "en-US" 或巴西葡萄牙语的 "pt-BR"

TextTrack.mode

一个字符串,指定轨道的当前模式,它必须是允许的值之一。更改此属性的值会将轨道的当前模式更改为匹配。默认值为 disabled,除非 <track> 元素的 default 布尔属性设置为 true - 在这种情况下,默认模式为 showing

sourceBuffer 只读

创建轨道的 SourceBuffer。如果轨道不是由 SourceBuffer 创建的,或者 SourceBuffer 已从其父媒体源的 MediaSource.sourceBuffers 属性中删除,则返回 null。

实例方法

此接口还继承了 EventTarget 的方法。

注意:TextTrackCue 接口是一个抽象类,用作其他提示接口(如 VTTCue)的父类。因此,在添加或删除提示时,您将传入从 TextTrackCue 继承的提示类型之一。

TextTrack.addCue()

将提示(指定为 TextTrackCue 对象)添加到轨道的提示列表。

TextTrack.removeCue()

从轨道的提示列表中删除提示(指定为 TextTrackCue 对象)。

事件

cuechange

当提示进入和退出时触发。给定的文本提示在提示进入时出现,并在提示退出时消失。也可以通过 oncuechange 属性访问。

示例

以下示例将新的 TextTrack 添加到视频中,然后使用 TextTrack.mode 设置其显示。

js
let video = document.querySelector("video");
let track = video.addTextTrack("captions", "Captions", "en");
track.mode = "showing";

规范

规范
HTML 标准
# texttrack

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅