音频轨道

有限可用性

此功能不是基线,因为它在一些最常用的浏览器中不起作用。

AudioTrack 接口表示来自 HTML 媒体元素(<audio><video>)中的单个音频轨道。

访问 AudioTrack 对象的最常见用途是切换其 enabled 属性以静音和取消静音轨道。

实例属性

已启用

一个布尔值,用于控制音频轨道的音频是否启用。将此值设置为 false 会静音轨道的音频。

id 只读

一个字符串,它在媒体中唯一标识轨道。此 ID 可用于通过调用 AudioTrackList.getTrackById() 在音频轨道列表中找到特定轨道。如果媒体支持根据 媒体片段 URI 规范 通过媒体片段进行搜索,则 ID 也可以用作 URL 的片段部分。

kind 只读

一个字符串,指定轨道所属的类别。例如,主音频轨道将具有 "main"kind

label 只读

一个字符串,提供轨道的用户可读标签。例如,电影的音频评论轨道可能具有 "Commentary with director John Q. Public and actors John Doe and Jane Eod."label。如果未提供标签,则此字符串为空。

language 只读

一个字符串,指定音频轨道的首选语言,或如果未知则为空字符串。语言以 BCP 47 (RFC 5646) 语言代码指定,例如 "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 采用标准 (RFC 5646) 格式。例如,对于美式英语,这将是 "en-US"

示例

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

规范

规范
HTML 标准
# 音频轨道

浏览器兼容性

BCD 表格仅在浏览器中加载