VTTCue - 描述并控制与特定 <track> 元素关联的文本轨道
VTTCue
是接口是用于处理 WebVTT(媒体演示中的文本轨道)的 API 的一部分,它描述并控制与特定 <track>
元素关联的文本轨道。
构造函数
VTTCue(startTime, endTime, text)
返回一个新创建的 VTTCue
对象,该对象包含给定的时间范围和文本。
参数
startTime
以以秒为单位的时间,它描述了要应用提示的媒体数据范围的开始时间。
endTime
以以秒为单位的时间,它描述了要应用提示的媒体数据范围的结束时间。
text
提示的原始文本及其解释规则。
属性
该接口还从 TextTrackCue
继承了属性。
VTTCue.region
一个 VTTRegion
对象,该对象描述了要在其上绘制提示的视频子区域,如果未分配,则为 null
。
VTTCue.vertical
返回一个枚举值,表示提示编写的方向。
VTTCue.snapToLines
如果 VTTCue.line
属性是行的整数或视频尺寸的百分比,则返回 true
。
VTTCue.line
返回提示的行位置。 它可以是字符串 auto
或数字,其解释取决于 VTTCue.snapToLines
的值。
VTTCue.lineAlign
返回一个枚举值,表示 VTTCue.line
的对齐方式。
VTTCue.position
返回行中提示的缩进。 它可以是字符串 auto
或表示 VTTCue.region
的百分比的数字,如果 VTTCue.region
为 null
,也可以是视频大小。
VTTCue.positionAlign
返回一个枚举值,表示提示的对齐值。它用于确定 VTTCue.position
的锚定对象。 默认为 auto
。
VTTCue.size
返回一个 double
,表示提示的大小(占视频大小的百分比)。
VTTCue.textAlign
返回一个枚举值,表示提示框中所有文本行的对齐方式。
VTTCue.text
返回一个 DOMString
,表示 提示的内容。
方法
getCueAsHTML()
以 DocumentFragment
的形式返回提示文本。
实例
<style>
video {
width: 320px;
height: 180px;
}
</style>
<video controls src="/examples/movie.mp4"></video>
<script>
let video = document.querySelector('video');
video.addEventListener('loadedmetadata', () => {
const track = video.addTextTrack("captions", "简体中文Subtitles", "zh_CN");
track.mode = "showing";
const cueCn = new VTTCue(0, 2.500, '字幕会在0至2.5秒间显示');
track.addCue(cueCn);
const cueEn = new VTTCue(2.6, 4, 'Subtitles will display between 2.6 and 4 seconds');
track.addCue(cueEn);
});
</script>
规范
规范 | 状态 | 备注 |
---|---|---|
WebVTT: The Web Video Text Tracks Format | 候选推荐 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 支持 | ≤79 | 26 | 不支持 | 支持 | 支持 |
VTTCue() 构造函数 | 支持 | ≤79 | 支持 | 不支持 | 支持 | 未知 |
align | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
getCueAsHTML | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
line | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
lineAlign | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 未知 |
position | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
positionAlign | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 未知 |
region | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 未知 |
size | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
snapToLines | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
text | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
vertical | 支持 | ≤79 | 支持 | 不支持 | 支持 | 支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
VTTCue() 构造函数 | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 未知 |
align | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
getCueAsHTML | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
line | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
lineAlign | 不支持 | 不支持 | 未知 | 支持 | 未知 | 不支持 | 未知 |
position | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
positionAlign | 不支持 | 不支持 | 未知 | 支持 | 未知 | 不支持 | 未知 |
region | 不支持 | 不支持 | 未知 | 支持 | 未知 | 不支持 | 未知 |
size | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
snapToLines | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
text | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |
vertical | 支持 | 支持 | 未知 | 支持 | 未知 | 支持 | 支持 |