音频轨道:enabled 属性
AudioTrack
属性 enabled
指定所描述的音频轨道当前是否启用。如果通过将 enabled
设置为 false
来禁用轨道,则该轨道将被静音并且不会产生音频。
值
enabled
属性是一个布尔值,如果轨道已启用,则其值为 true
;已启用的轨道在媒体播放时会产生音频。将 enabled
设置为 false
会有效地静音音频轨道,使其无法为媒体的音频性能做出贡献。
示例
此示例在媒体元素的主音频轨道和评论音频轨道之间切换。
js
function swapCommentaryMain() {
const videoElem = document.getElementById("main-video");
let audioTrackMain;
let audioTrackCommentary;
videoElem.audioTracks.forEach((track) => {
if (track.kind === "main") {
audioTrackMain = track;
} else if (track.kind === "commentary") {
audioTrackCommentary = track;
}
});
if (audioTrackMain && audioTrackCommentary) {
const commentaryEnabled = audioTrackCommentary.enabled;
audioTrackCommentary.enabled = audioTrackMain.enabled;
audioTrackMain.enabled = commentaryEnabled;
}
}
上面的 swapCommentaryMain()
函数在 <video>
元素 "main-video"
的音频轨道中找到 kind
值为 "main"
和 "commentary"
的音频轨道。它们分别代表主音频轨道和评论轨道。
注意: 此示例假定视频中每种类型的轨道只有一个,但事实并非一定如此。
然后使用 JavaScript forEach()
方法扫描元素的音频轨道(尽管媒体元素的 audioTracks
属性实际上不是 JavaScript 数组,但在大多数情况下可以像数组一样访问它)。
扫描查找 kind
值为 "main"
和 "commentary"
的轨道,并记住这些 AudioTrack
对象。找到这些轨道后,交换两个轨道 enabled
属性的值,这将导致交换当前处于活动状态的两个轨道。
规范
规范 |
---|
HTML 标准 # dom-audiotrack-enabled-dev |
浏览器兼容性
BCD 表仅在浏览器中加载