TextTrack
Baseline 广泛可用 *
TextTrack 接口是 WebVTT API 的一部分,代表与媒体元素关联的文本轨道。
此类型的对象拥有将在视频不同时间点显示的 VTTCue 对象列表。
可以使用 HTMLMediaElement.addTextTrack() 方法将 TextTrack 对象添加到 HTMLVideoElement 或 HTMLAudioElement 元素中,这与在 <video> 或 <audio> 元素中使用 <track> 元素声明式添加文本轨道具有相同效果。TextTrack 对象存储在 TextTrackList 中,可以通过 HTMLMediaElement.textTracks 属性检索。
实例属性
此接口还继承了 EventTarget 的属性。
TextTrack.activeCues只读-
一个
TextTrackCueList对象,列出了当前活动的文本轨道提示集。当媒体的当前播放位置介于提示的开始和结束时间之间时,轨道提示是活动的。因此,对于字幕等显示提示,活动提示正在被显示。 TextTrack.cues只读-
一个
TextTrackCueList,其中包含轨道的所有提示。 TextTrack.id只读-
一个字符串,用于标识轨道(如果它有 ID)。如果没有 ID,则此值为一个空字符串 (
"")。如果TextTrack与<track>元素相关联,则轨道的 ID 与元素的 ID 匹配。 TextTrack.inBandMetadataTrackDispatchType只读-
返回一个字符串,指示轨道的带内元数据轨道分派类型。
TextTrack.kind只读-
返回一个字符串,指示
TextTrack描述的是哪种类型的文本轨道。它必须是允许的值之一。 TextTrack.label只读-
一个人类可读的字符串,包含文本轨道的标签(如果存在);否则,这是一个空字符串 (
""),在这种情况下,如果轨道的标签需要暴露给用户,您的代码可能需要使用轨道的其他属性生成自定义标签。 TextTrack.language只读-
一个字符串,指定文本轨道内容的编写语言。该值必须是有效的 BCP 47 语言标签,例如,美国英语为
"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 |
浏览器兼容性
加载中…