AudioTrack

AudioTrack 接口表示从 HTML 介质元件中的一个单一的音轨, <audio><video>. 访问AudioTrack 对象的最常见用途是切换其enabled (en-US) 属性,以使轨道静音和取消静音。

属性

enabled (en-US)

一个布尔值,用于控制是否启用音轨的声音。设置此值false可使音轨的音频静音。

id (en-US) 只读

一个DOMString唯一标识媒体中的曲目。此 ID 可用于通过调用AudioTrackList.getTrackById() (en-US)来定位音轨列表中的特定轨道。如果媒体支持按媒体片段URI 规范按媒体片段搜索,则 ID 也可以用作 URL 的片段部分。

kind (en-US) 只读

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

label (en-US) 只读

A DOMString为轨道提供人类可读的标签。例如,一个音频评论轨道的电影可以有一个label"Commentary with director John Q. Public and actors John Doe and Jane Eod.",如果没有提供标签此字符串是空的。

language (en-US) 只读

一个DOMString指定音轨的主要语言,如果未知,则为空字符串。该语言被指定为 BCP 47(RFC 5646}语言代码,例如"en-US""pt-BR"

sourceBuffer (en-US) 只读

创建轨道的SourceBuffer。如果轨道不是由SourceBuffer创建的,或者SourceBuffer已从MediaSource.sourceBuffers属性中删除,则返回 null 其母媒体来源。

使用说明

要获取AudioTrack给定媒体元素,请使用元素的audioTracks属性,该属性返回AudioTrackList (en-US)对象,您可以从中获取媒体中包含的各个曲目:

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

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

第一个示例获取媒体上的第一个音轨:

var firstTrack = tracks [0];

下一个示例扫描所有媒体的音轨,启用用户首选语言中的任何一种 (取自变量userLanguage) 并禁用任何其他语音。

tracks.forEach(function(track){
  if(track.language === userLanguage){
    track.enabled = true;
  } else {
    track.enabled = false;
  }
});

language (en-US)采用标准 (RFC 5646) 格式。例如,对于美国英语,这将是"en-US"

{{page("/en-US/docs/Web/API/AudioTrack/label", "Example")}}

产品规格

Specification
HTML Standard
# audiotrack

浏览器兼容性

BCD tables only load in the browser