TextTrack - 描述和控制与特定 <track> 元素关联的文本轨道
TextTrack
接口是用于处理 WebVTT(媒体演示中的文本轨道)的 API 的一部分,它描述和控制与特定 <track>
元素关联的文本轨道。
属性
该接口还继承了 EventTarget
的属性。
TextTrack.activeCues
只读
一个 TextTrackCueList
对象,列出了当前处于活动状态的文本轨道提示集。如果媒体的当前播放位置在提示的开始时间和结束时间之间,则跟踪提示处于活动状态。因此,对于诸如字幕或字幕之类的显示提示,当前正在显示活动提示。
TextTrack.cues
只读
一个 TextTrackCueList
,其中包含轨道的所有提示。
TextTrack.id
只读
一个 DOMString
,用于标识轨道(如果有的话)。如果没有 ID,则该值为空字符串(""
)。如果 TextTrack
与 <track>
元素相关联,则轨道的 ID 与该元素的 ID 相匹配。
TextTrack.inBandMetadataTrackDispatchType
只读
返回一个 DOMString
,它指示轨道的带内元数据轨道调度类型。
TextTrack.kind
只读
返回一个 DOMString
,指示 TextTrack
描述的是哪种文本轨道。该值必须是 TextTrackKind
枚举中的值之一。
TextTrack.label
只读
一种易于理解的 DOMString
,其中包含文本轨道的标签(如果存在);否则,它是一个空字符串(""
),在这种情况下,如果轨道的标签需要向用户展示,则您的代码可能需要使用轨道的其他属性来生成自定义标签。
TextTrack.language
只读
一个 DOMString
,它指定用于写入文本轨道内容的文本语言。该值必须遵循 IETF 的用于标识语言的标签(BCP 47)文档中指定的格式,就像 HTML lang
属性一样。例如,对于美国英语,它是 "en-US"
;对于巴西葡萄牙语,它是 "pt-BR"
。
TextTrack.mode
一个 DOMString
,指定轨道的当前模式。更改此属性的值将更改轨道的当前模式以匹配。允许的值列在文本跟踪模式常数中。除非指定了 <track>
元素的 default
属性,否则默认值为 disabled
,在这种情况下,默认模式为 started
。
事件
cuechange
当提示进入和退出时触发。进入提示时,给定的文本提示出现,退出提示时,提示消失。也可以通过 oncuechange
属性处理。
方法
该接口还继承了 EventTarget
的方法。
TextTrack.addCue()
将提示(为 TextTrackCue
对象)添加到音轨的提示列表中。
TextTrack.removeCue()
从轨道的提示列表中删除提示(为 TextTrackCue
对象)。
规范
规范 | 状态 | 备注 |
---|---|---|
WebVTT: The Web Video Text Tracks Format | 候选推荐 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 18 | 12 | 311 | 10 | 15 | 6 |
activeCues | 18 | 12 | 312 | 10 | 15 | 6 |
addCue | 18 | 12 | 31 | 10 | 15 | 6 |
cuechange 事件 | 支持 | 12 | 31 | 未知 | 未知 | 支持 |
cues | 18 | 12 | 312 | 10 | 15 | 6 |
id | 18 | 12 | 31 | 10 | 15 | 6 |
inBandMetadataTrackDispatchType | 18 | 12 | 31 | 10 | 15 | 6 |
kind | 18 | 12 | 31 | 10 | 15 | 6 |
label | 18 | 12 | 31 | 10 | 15 | 6 |
language | 18 | 12 | 31 | 10 | 15 | 6 |
mode | 18 | 12 | 313 | 10 | 15 | 6 |
oncuechange | 支持 | 12 | 31 | 未知 | 支持 | 支持 |
removeCue | 18 | 12 | 31 | 10 | 15 | 6 |
sourceBuffer | 不支持 | 不支持 | 未知 | 未知 | 未知 | 支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
activeCues | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
addCue | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
cuechange 事件 | 支持 | 支持 | 未知 | 31 | 未知 | 不支持 | 未知 |
cues | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
id | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
inBandMetadataTrackDispatchType | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
kind | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
label | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
language | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
mode | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
oncuechange | 支持 | 支持 | 未知 | 31 | 未知 | 不支持 | 未知 |
removeCue | 4.4 | 18 | 未知 | 31 | 未知 | 不支持 | 7 |
sourceBuffer | 不支持 | 不支持 | 未知 | 未知 | 未知 | 不支持 | 未知 |
1. 在播放没有一个或多个视频轨道的媒体时,Firefox 50 之前的版本不显示字幕。
2. 从 Firefox 69 开始,TextTrack
的 mode
为 disabled
3. 在 Firefox 52 之前,使用 JavaScript 来更改媒体元素中文本轨道的模式会在每次更改时向元素的文本轨道 TextTrackList 发送一个更改事件,即使在 Firefox 事件循环的单次传递中发生了多个更改。从 Firefox 52 开始,这些变化通过单个事件反映出来。