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

瀏覽器相容性