AudioTrackList: getTrackById() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

AudioTrackListgetTrackById() 方法會從音軌列表中返回第一個 AudioTrack 物件,該物件的 id 與指定的字串匹配。如果你知道音軌的 ID 字串,就可以使用此方法找到它。

語法

js
getTrackById(id)

引數

id

一個字串,表示要在音軌列表中查詢的音軌的 ID。

返回值

一個 AudioTrack 物件,表示在 AudioTrackList 中找到的第一個 id 與指定字串匹配的音軌。如果沒有找到匹配項,此方法將返回 null

音軌按其自然順序搜尋;也就是說,按照媒體資源本身定義的順序,或者,如果資源沒有定義順序,則按照媒體資源宣告音軌的相對順序。

示例

此示例提出了一個假設的遊戲,其中電影用作遊戲內的過場動畫或其他關鍵場景。每部電影都有一個音軌用於每個角色,還有一個用於音樂、音效等。此函式允許遊戲停用特定角色的音訊,以便根據遊戲內的事件調整電影的效能;如果角色的對話不相關,則將其省略。顯然,這需要一些巧妙的圖形設計才能實現,但這只是一個假設的遊戲。

js
function disableCharacter(videoElem, characterName) {
  videoElem.audioTracks.getTrackById(characterName).enabled = false;
}

這個簡短的函式使用 HTMLMediaElement.audioTracks 獲取包含影片音軌的 AudioTrackList,然後在上面呼叫 getTrackById(),並指定角色的名稱。然後透過將結果音軌的 enabled 標誌設定為 false 來停用該音軌的音訊。

規範

規範
HTML
# dom-audiotracklist-gettrackbyid-dev

瀏覽器相容性