VideoTrack
VideoTrack 介面代表來自 <video> 元素的單個影片軌道。
訪問 VideoTrack 物件最常見的用途是切換其 selected 屬性,從而使其成為其 <video> 元素的活動影片軌道。
例項屬性
selected-
一個布林值,用於控制影片軌道是否處於活動狀態。在任何給定時間只能有一個影片軌道處於活動狀態,因此將一個軌道的此屬性設定為
true,而另一個軌道處於活動狀態時,將使該另一個軌道失效。 id只讀-
一個字串,唯一標識媒體中的軌道。此 ID 可用於透過呼叫
VideoTrackList.getTrackById()來定位影片軌道列表中的特定軌道。如果媒體支援按媒體片段進行查詢(根據 Media Fragments URI 規範),則該 ID 也可以用作 URL 的片段部分。 kind只讀-
一個字串,指定軌道的所屬類別。例如,主影片軌道的
kind為"main"。 label只讀-
一個字串,為軌道提供人類可讀的標籤。例如,
kind為"sign"的軌道可能有一個label為"A sign-language interpretation"。如果未提供標籤,則此字串為空。 language只讀-
一個字串,指定影片軌道的首選語言,如果未知則為空字串。語言指定為 BCP 47 語言標記,例如
"en-US"或"pt-BR"。 sourceBuffer只讀-
建立軌道的
SourceBuffer。如果軌道不是由SourceBuffer建立,或者SourceBuffer已從其父媒體源的MediaSource.sourceBuffers屬性中移除,則返回 null。
用法說明
要獲取給定媒體元素的 VideoTrack,請使用該元素的 videoTracks 屬性,該屬性返回一個 VideoTrackList 物件,您可以透過該物件獲取媒體中包含的各個軌道。
const el = document.querySelector("video");
const tracks = el.videoTracks;
然後,您可以使用陣列語法或像 forEach() 這樣的函式來訪問媒體的各個軌道。
第一個示例獲取媒體上的第一個影片軌道
const firstTrack = tracks[0];
下一個示例將遍歷媒體的所有影片軌道,啟用使用者首選語言(來自變數 userLanguage)的第一個影片軌道。
for (const track of tracks) {
if (track.language === userLanguage) {
track.selected = true;
break;
}
}
language 指定為有效的 BCP 47 語言標記,例如,美國英語為 "en-US"。
規範
| 規範 |
|---|
| HTML # videotrack |
瀏覽器相容性
載入中…