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 |
瀏覽器相容性
載入中…