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 对象,您可以从中获取媒体中包含的各个轨道。

js
const el = document.querySelector("video");
const tracks = el.audioTracks;

然后,您可以使用数组语法或诸如 forEach() 之类的函数来访问媒体的各个轨道。

第一个示例获取媒体上的第一个音频轨道。

js
const firstTrack = tracks[0];

下一个示例会扫描媒体的所有音频轨道,启用用户首选语言(来自变量 userLanguage)的轨道,并禁用其他轨道。

js
tracks.forEach((track) => {
  track.enabled = track.language === userLanguage;
});

language 指定为有效的 BCP 47 语言标签,例如美国英语的 "en-US"

示例

请参阅 AudioTrack.label 示例,了解如何获取指定媒体元素的轨道种类和标签的数组,并按种类进行过滤。

规范

规范
HTML
# audiotrack

浏览器兼容性