MediaStream

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本使用。自 2017 年 9 月以來,它已在瀏覽器中提供。

MediaStream 介面是 媒體捕獲和流 API 的一部分,它代表一個媒體內容流。一個流由幾個軌道組成,例如影片軌道或音訊軌道。每個軌道都指定為 MediaStreamTrack 的例項。

您可以透過使用建構函式,或者呼叫 MediaDevices.getUserMedia()MediaDevices.getDisplayMedia()HTMLCanvasElement.captureStream()HTMLMediaElement.captureStream() 等函式來獲取 MediaStream 物件。

EventTarget MediaStream

建構函式

MediaStream()

建立並返回一個新的 MediaStream 物件。您可以建立一個空流、一個基於現有流的流,或者一個包含指定軌道列表(指定為 MediaStreamTrack 物件陣列)的流。

例項屬性

此介面繼承了其父介面 EventTarget 的屬性。

MediaStream.active 只讀

一個布林值,如果 MediaStream 處於活動狀態,則返回 true,否則返回 false

MediaStream.id 只讀

一個包含該物件 36 個字元的通用唯一識別符號(UUID)的字串。

例項方法

此介面繼承了其父介面 EventTarget 的方法。

MediaStream.addTrack()

儲存作為引數傳入的 MediaStreamTrack 的副本。如果該軌道已新增到 MediaStream 物件,則什麼也不做。

MediaStream.clone()

返回 MediaStream 物件的克隆。但是,克隆將具有唯一的 id 值。

MediaStream.getAudioTracks()

返回儲存在 MediaStream 物件中且其 kind 屬性設定為 audioMediaStreamTrack 物件列表。順序不確定,並且不僅可能因瀏覽器而異,也可能因每次呼叫而異。

MediaStream.getTrackById()

返回 ID 與引數 trackId 對應的軌道。如果未提供引數,或者不存在具有該 ID 的軌道,則返回 null。如果有多個軌道具有相同的 ID,則返回第一個。

MediaStream.getTracks()

返回儲存在 MediaStream 物件中的所有 MediaStreamTrack 物件列表,而不管 kind 屬性的值。順序不確定,並且不僅可能因瀏覽器而異,也可能因每次呼叫而異。

MediaStream.getVideoTracks()

返回儲存在 MediaStream 物件中且其 kind 屬性設定為 "video"MediaStreamTrack 物件列表。順序不確定,並且不僅可能因瀏覽器而異,也可能因每次呼叫而異。

MediaStream.removeTrack()

移除作為引數傳入的 MediaStreamTrack。如果該軌道不是 MediaStream 物件的一部分,則什麼也不做。

事件

addtrack

添加了新的 MediaStreamTrack 物件時觸發。

removetrack

刪除了 MediaStreamTrack 物件時觸發。

active 非標準

MediaStream 啟用時觸發。

inactive 非標準

MediaStream 失效時觸發。

規範

規範
媒體捕獲和流
# mediastream

瀏覽器相容性

另見