AudioTrackList - 表示给定 HTML 媒体元素中包含的音频轨道列表
AudioTrackList 接口用于表示给定 HTML 媒体元素中包含的音频轨道列表,每个轨道由列表中单独的 AudioTrack 对象表示。
可以使用 HTMLMediaElement.audioTracks 检索此对象的实例。可以使用数组语法访问各个轨道。
属性
此接口还从其父接口 EventTarget 继承了属性。
length 只读
列表中的轨道数。
方法
此接口还从其父接口 EventTarget 继承了方法。
getTrackById()
返回在 AudioTrackList 中找到的 id 匹配指定字符串的 AudioTrack。如果找不到匹配项,则返回 null。
事件处理程序
onaddtrack
触发 addtrack 事件时要调用的事件处理程序,指示新的音轨已添加到媒体元素。
onchange
触发 change 事件时要调用的事件处理程序。通过更改其 enabled 标志来启用或禁用一个或多个轨道时,会发生这种情况。
onremovetrack
触发 removetrack 事件时调用的事件处理程序,指示已从媒体元素中删除了音轨。
事件
addtrack
当新的音轨已添加到媒体元素时触发。也可以通过 onaddtrack 属性处理。
change
在启用或禁用轨道时触发。也可以通过 onchange 属性处理。
removetrack
从媒体元素中移除新的音轨时触发。也可以通过 onremovetrack)属性处理。
使用注意
除了能够直接访问媒体元素上存在的音频轨道之外,AudioTrackList 还允许您在 addtrack 和 removetrack 上设置事件处理程序事件,以便您可以检测何时在媒体元素的流中添加轨道或从中删除轨道。有关详细信息和实例,请参见 onaddtrack 和 onremovetrack。
实例
获取媒体元素的音轨列表
要获取媒体元素的 AudioTrackList,请使用其 audioTracks 属性。
var audioTracks = document.querySelector("video").audioTracks;
监视轨道数量更改
在此实例中,我们有一个应用程序,用于显示有关可用频道数的信息。为了保持最新状态,我们设置了 addtrack 和 removetrack 事件的处理程序来监听它的变化。
audioTracks.onaddtrack = updateTrackCount;
audioTracks.onremovetrack = updateTrackCount;
function updateTrackCount(event) {
trackCount = audioTracks.length;
drawTrackCountIndicator(trackCount);
}
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| HTML Living Standard AudioTrackList 的定义 |
现行的标准 | - |
| HTML5 AudioTrackList 的定义 |
推荐 | - |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 45 | 12 | 33 | 10 | 32 | 6.1 |
addtrack 事件 | 45 | 12 | 33 | 10 | 32 | 6.1 |
change 事件 | 45 | 12 | 33 | 10 | 32 | 6.1 |
getTrackById | 45 | 12 | 33 | 10 | 32 | 6.1 |
length | 45 | 12 | 33 | 10 | 32 | 6.1 |
onaddtrack | 45 | 12 | 33 | 10 | 32 | 6.1 |
onchange | 45 | 12 | 33 | 10 | 32 | 6.1 |
onremovetrack | 45 | 12 | 33 | 10 | 32 | 6.1 |
removetrack 事件 | 45 | 12 | 33 | 10 | 32 | 6.1 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
addtrack 事件 | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
change 事件 | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
getTrackById | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
length | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
onaddtrack | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
onchange | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
onremovetrack | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |
removetrack 事件 | 45 | 45 | 未知 | 33 | 未知 | 32 | 7 |