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 物件,您可以從中獲取媒體中包含的各個軌道。
const el = document.querySelector("video");
const tracks = el.audioTracks;
然後,您可以使用陣列語法或諸如 forEach() 之類的函式來訪問媒體的各個軌道。
第一個示例獲取媒體上的第一個音訊軌道。
const firstTrack = tracks[0];
下一個示例會掃描媒體的所有音訊軌道,啟用使用者首選語言(來自變數 userLanguage)的軌道,並停用其他軌道。
tracks.forEach((track) => {
track.enabled = track.language === userLanguage;
});
language 指定為有效的 BCP 47 語言標籤,例如美國英語的 "en-US"。
示例
請參閱 AudioTrack.label 示例,瞭解如何獲取指定媒體元素的軌道種類和標籤的陣列,並按種類進行過濾。
規範
| 規範 |
|---|
| HTML # audiotrack |
瀏覽器相容性
載入中…