TextTrack
**TextTrack
** 接口是 WebVTT API 的一部分,表示与媒体元素关联的文本轨道。
此类型的对象拥有将在视频的不同时间点显示在视频上的 VTTCue
对象列表。
可以使用 HTMLMediaElement.addTextTrack()
方法将 TextTrack
对象添加到 HTMLVideoElement
或 HTMLAudioElement
元素中,这与使用 <track>
元素在 <video>
或 <audio>
元素内以声明方式添加文本轨道具有相同的效果。TextTrack
对象存储在 TextTrackList
中,可以使用 HTMLMediaElement.textTracks
属性检索。
实例属性
此接口还继承了 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
设置其显示。
let video = document.querySelector("video");
let track = video.addTextTrack("captions", "Captions", "en");
track.mode = "showing";
规范
规范 |
---|
HTML 标准 # texttrack |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。