AudioTrack

可用性有限

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

AudioTrack 介面表示 HTML 媒體元素 <audio><video> 的單個音訊軌道。

訪問 AudioTrack 物件最常見的用途是切換其 enabled 屬性,以便靜音或取消靜音軌道。

例項屬性

enabled

一個布林值,用於控制音訊軌道的音訊是否啟用。將此值設定為 false 會靜音該軌道的音訊。

id 只讀

一個字串,唯一標識媒體中的軌道。此 ID 可透過呼叫 AudioTrackList.getTrackById() 來定位音訊軌道列表中的特定軌道。根據 Media Fragments URI 規範,如果媒體支援按媒體片段進行搜尋,該 ID 也可以用作 URL 的片段部分。

kind 只讀

一個字串,指定軌道所屬的類別。例如,主音訊軌道的 kind"main"

label 只讀

一個字串,提供軌道的易讀標籤。例如,電影的音訊評論軌道的 label 可能是 "Commentary with director Christopher Nolan and actors Leonardo DiCaprio and Elliot Page."。如果沒有提供標籤,則此字串為空。

language 只讀

一個字串,指定音訊軌道的首選語言,如果未知則為空字串。語言指定為 BCP 47 語言標籤,例如 "en-US""pt-BR"

sourceBuffer 只讀

建立軌道的 SourceBuffer。如果軌道不是由 SourceBuffer 建立,或者 SourceBuffer 已從其父媒體源的 MediaSource.sourceBuffers 屬性中移除,則返回 null。

用法說明

要獲取給定媒體元素的 AudioTrack,請使用該元素的 audioTracks 屬性,該屬性返回一個 AudioTrackList 物件,您可以從中獲取媒體中包含的各個軌道。

js
const el = document.querySelector("video");
const tracks = el.audioTracks;

然後,您可以使用陣列語法或諸如 forEach() 之類的函式來訪問媒體的各個軌道。

第一個示例獲取媒體上的第一個音訊軌道。

js
const firstTrack = tracks[0];

下一個示例會掃描媒體的所有音訊軌道,啟用使用者首選語言(來自變數 userLanguage)的軌道,並停用其他軌道。

js
tracks.forEach((track) => {
  track.enabled = track.language === userLanguage;
});

language 指定為有效的 BCP 47 語言標籤,例如美國英語的 "en-US"

示例

請參閱 AudioTrack.label 示例,瞭解如何獲取指定媒體元素的軌道種類和標籤的陣列,並按種類進行過濾。

規範

規範
HTML
# audiotrack

瀏覽器相容性