AudioTrack
AudioTrack 接口表示 HTML 媒体元素 <audio> 或 <video> 的单个音频轨道。
访问 AudioTrack 对象最常见的用途是切换其 enabled 属性,以便静音或取消静音轨道。
实例属性
enabled-
一个布尔值,用于控制音频轨道的音频是否启用。将此值设置为
false会静音该轨道的音频。 id只读-
一个字符串,唯一标识媒体中的轨道。此 ID 可通过调用
AudioTrackList.getTrackById()来定位音频轨道列表中的特定轨道。根据 Media Fragments URI 规范,如果媒体支持按媒体片段进行搜索,该 ID 也可以用作 URL 的片段部分。 kind只读-
一个字符串,指定轨道所属的类别。例如,主音频轨道的
kind为"main"。 label只读-
一个字符串,提供轨道的易读标签。例如,电影的音频评论轨道的
label可能是"Commentary with director Christopher Nolan and actors Leonardo DiCaprio and Elliot Page."。如果没有提供标签,则此字符串为空。 language只读-
一个字符串,指定音频轨道的首选语言,如果未知则为空字符串。语言指定为 BCP 47 语言标签,例如
"en-US"或"pt-BR"。 sourceBuffer只读-
创建轨道的
SourceBuffer。如果轨道不是由SourceBuffer创建,或者SourceBuffer已从其父媒体源的MediaSource.sourceBuffers属性中移除,则返回 null。
用法说明
要获取给定媒体元素的 AudioTrack,请使用该元素的 audioTracks 属性,该属性返回一个 AudioTrackList 对象,您可以从中获取媒体中包含的各个轨道。
const el = document.querySelector("video");
const tracks = el.audioTracks;
然后,您可以使用数组语法或诸如 forEach() 之类的函数来访问媒体的各个轨道。
第一个示例获取媒体上的第一个音频轨道。
const firstTrack = tracks[0];
下一个示例会扫描媒体的所有音频轨道,启用用户首选语言(来自变量 userLanguage)的轨道,并禁用其他轨道。
tracks.forEach((track) => {
track.enabled = track.language === userLanguage;
});
language 指定为有效的 BCP 47 语言标签,例如美国英语的 "en-US"。
示例
请参阅 AudioTrack.label 示例,了解如何获取指定媒体元素的轨道种类和标签的数组,并按种类进行过滤。
规范
| 规范 |
|---|
| HTML # audiotrack |
浏览器兼容性
加载中…