AudioTrack: 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() 函数在 ID 为 "main-video" 的 <video> 元素的音频轨道中查找 kind 属性值为 "main" 和 "commentary" 的音频轨道。它们分别代表主音频轨道和评论音轨。
注意: 此示例假设视频中每种 kind 的轨道只有一个,但这并非必然情况。
然后,使用 JavaScript 的 forEach() 方法遍历媒体元素的音频轨道(尽管媒体元素的 audioTracks 属性实际上不是 JavaScript 数组,但在大多数情况下可以像数组一样访问)。
扫描会查找 kind 属性值为 "main" 和 "commentary" 的轨道,并记住那些 AudioTrack 对象。一旦找到它们,就会交换这两个轨道的 enabled 属性值,从而切换当前活动的轨道。
规范
| 规范 |
|---|
| HTML # dom-audiotrack-enabled-dev |
浏览器兼容性
加载中…