AudioTrackList:getTrackById() 方法

有限可用性

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

AudioTrackList 方法 getTrackById() 从轨道列表中返回第一个 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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。