AudioTrackList: getTrackById() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

AudioTrackListgetTrackById() 方法会从音轨列表中返回第一个 AudioTrack 对象,该对象的 id 与指定的字符串匹配。如果你知道音轨的 ID 字符串,就可以使用此方法找到它。

语法

js
getTrackById(id)

参数

id

一个字符串,表示要在音轨列表中查找的音轨的 ID。

返回值

一个 AudioTrack 对象,表示在 AudioTrackList 中找到的第一个 id 与指定字符串匹配的音轨。如果没有找到匹配项,此方法将返回 null

音轨按其自然顺序搜索;也就是说,按照媒体资源本身定义的顺序,或者,如果资源没有定义顺序,则按照媒体资源声明音轨的相对顺序。

示例

此示例提出了一个假设的游戏,其中电影用作游戏内的过场动画或其他关键场景。每部电影都有一个音轨用于每个角色,还有一个用于音乐、音效等。此函数允许游戏禁用特定角色的音频,以便根据游戏内的事件调整电影的性能;如果角色的对话不相关,则将其省略。显然,这需要一些巧妙的图形设计才能实现,但这只是一个假设的游戏。

js
function disableCharacter(videoElem, characterName) {
  videoElem.audioTracks.getTrackById(characterName).enabled = false;
}

这个简短的函数使用 HTMLMediaElement.audioTracks 获取包含视频音轨的 AudioTrackList,然后在上面调用 getTrackById(),并指定角色的名称。然后通过将结果音轨的 enabled 标志设置为 false 来禁用该音轨的音频。

规范

规范
HTML
# dom-audiotracklist-gettrackbyid-dev

浏览器兼容性