音频轨道
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
对象,您可以从中获取媒体中包含的各个轨道
const el = document.querySelector("video");
const tracks = el.audioTracks;
然后,您可以使用数组语法或 forEach()
等函数访问媒体的各个轨道。
第一个示例获取媒体上的第一个音频轨道
const firstTrack = tracks[0];
下一个示例扫描所有媒体的音频轨道,启用用户首选语言(来自变量 userLanguage
)中的所有轨道,并禁用所有其他轨道。
tracks.forEach((track) => {
track.enabled = track.language === userLanguage;
});
示例
请参阅 AudioTrack.label
,了解一个简单的示例,它展示了如何获取指定媒体元素的轨道种类和标签数组,并按种类过滤。
规范
规范 |
---|
HTML 标准 # 音频轨道 |
浏览器兼容性
BCD 表格仅在浏览器中加载