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 |