📅  最后修改于: 2023-12-03 14:41:53.291000             🧑  作者: Mango
<track>
标签用于为 <video>
或 <audio>
元素添加字幕/标题等文本轨道。该标签可以创建多个轨道,并指定轨道的类型、语言和媒体文件地址等属性。在加载媒体文件时,如果存在与当前语言匹配的轨道,那么该轨道将会在媒体播放过程中使用。
<track>
标签的默认属性如下:
default
:一个布尔属性,表示此轨道是首选的轨道,默认值为 false
。如果媒体文件包含多个轨道,但没有设置 default
属性值为 true
的轨道,则会自动选择该媒体文件中的某个轨道。kind
:指定该轨道的类型。常见的类型有 subtitles
(字幕,文本轨道)、captions
(标题,更为详细的文本轨道)、chapters
(章节,描述段落开始和结束位置)、descriptions
(描述,对媒体内容进行更为详实的描述)、metadata
(元数据,对媒体内容进行额外的信息描述,例如艺术家、创作年份等)等。默认值为 subtitles
。label
:指定该轨道的标签,通常用于在 UI 中显示轨道名称。如果没有指定该属性,则使用当前的语言名称。例如 label="英文"
。srclang
:指定该轨道的语言,通常使用 ISO 639-1 代码(两字母缩写)表示,例如 srclang="en"
。如果该属性值未指定,则使用默认值 en
(英语)。src
:指定该轨道的媒体文件地址。该属性是必须的,否则该轨道将会忽略。下面是一个示例,演示如何使用 <track>
标签添加字幕轨道:
<video controls>
<source src="video.mp4" type="video/mp4">
<track src="subtitles_en.vtt" kind="subtitles" srclang="en" label="English" default>
<track src="subtitles_zh.vtt" kind="subtitles" srclang="zh" label="中文">
</video>
在上述示例中,<video>
元素包含了两个 <track>
元素,分别指定了英文和中文两个字幕轨道。其中,default
属性值为 true
的是英文字幕轨道,因此如果用户未指定语言偏好或者浏览器无法自动获取用户语言偏好时,将默认使用英文字幕。
需要注意的是,<track>
元素必须出现在 <video>
或 <audio>
元素内,且在 <source>
元素之后。同时,每个 <video>
或 <audio>
元素最多只能包含一种类型的轨道,例如只能包含字幕轨道,否则可能会导致播放器无法正常解析。