MediaStreamTrack

Baseline 廣泛可用 *

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

* 此特性的某些部分可能存在不同級別的支援。

MediaStreamTrack 介面是 Media Capture and Streams API 的一部分,代表流中的單個媒體軌道;通常,這些是音訊或影片軌道,但也可能存在其他軌道型別。

一些使用者代理會繼承此介面,以提供更精確的資訊或功能,例如 CanvasCaptureMediaStreamTrack

EventTarget MediaStreamTrack

例項屬性

除了下面列出的屬性之外,MediaStreamTrack 還有可約束的屬性,可以使用 applyConstraints() 設定,並使用 getConstraints()getSettings() 訪問。請參閱 功能、約束和設定,瞭解如何正確處理可約束的屬性。不正確地操作將導致程式碼不可靠。

MediaStreamTrack.contentHint

一個字串,Web 應用程式可以使用它來提供軌道所包含內容的型別提示,以指導 API 消費者如何處理它。允許的值取決於 MediaStreamTrack.kind 屬性的值。

MediaStreamTrack.enabled

一個布林值,如果軌道已啟用(允許渲染媒體源流),則其值為 true;如果已停用(不渲染媒體源流,而是靜音和黑屏),則其值為 false。如果軌道已斷開連線,則可以更改此值,但不再起作用。

注意:您可以透過將 enabled 設定為 false 來實現標準的“靜音”功能。muted 屬性指的是由於技術問題而沒有媒體的情況。

MediaStreamTrack.id 只讀

返回一個包含軌道唯一識別符號(GUID)的字串;它由瀏覽器生成。

MediaStreamTrack.kind 只讀

如果軌道是音訊軌道,則返回設定為 "audio" 的字串;如果軌道是影片軌道,則返回 "video" 的字串。如果軌道與源分離,則不會更改。

MediaStreamTrack.label 只讀

返回一個使用者代理分配的標識軌道源的字串,例如 "internal microphone"。該字串可以為空,並且在沒有連線源時為空。當軌道與源分離時,標籤不會改變。

MediaStreamTrack.muted 只讀

返回一個布林值,指示軌道是否因技術問題而無法提供媒體資料。

注意:您可以透過將 enabled 設定為 false 來實現標準的“靜音”功能,並透過將其再次設定為 true 來取消媒體靜音。

MediaStreamTrack.readyState 只讀

返回一個列舉字串,表示軌道的狀態。它將是以下值之一:

  • "live" 表示已連線輸入,並且正在盡最大努力提供即時資料。在這種情況下,可以使用 enabled 屬性來開啟或關閉資料輸出。
  • "ended" 表示輸入不再提供資料,並且永遠不會提供新資料。

例項方法

MediaStreamTrack.applyConstraints()

允許應用程式指定 MediaStreamTrack 的任意數量的可約束屬性的理想值和/或可接受值的範圍。

MediaStreamTrack.clone()

返回 MediaStreamTrack 的副本。

MediaStreamTrack.getCapabilities()

返回一個物件,詳細說明與 MediaStreamTrack 關聯的每個可約束屬性的可接受值或值範圍。

MediaStreamTrack.getConstraints()

返回一個 MediaTrackConstraints 物件,其中包含當前為軌道設定的約束;返回值與使用 applyConstraints() 最後設定的約束匹配。

MediaStreamTrack.getSettings()

返回一個 MediaTrackSettings 物件,其中包含 MediaStreamTrack 的每個可約束屬性的當前值。

MediaStreamTrack.stop()

停止播放與軌道關聯的源,源和軌道都將斷開連線。軌道狀態將設定為 ended

事件

使用 addEventListener() 或將事件監聽器分配給此介面的 oneventname 屬性來監聽這些事件

ended

當軌道播放結束時(當 readyState 的值更改為 ended 時)傳送到 MediaStreamTrack,除非軌道是透過呼叫 MediaStreamTrack.stop 來結束的。

mute

muted 屬性的值更改為 true 時傳送到 MediaStreamTrack,表明軌道暫時無法提供資料(例如,當網路出現服務故障時)。

unmute

當資料再次可用時傳送到軌道,結束 muted 狀態。

規範

規範
媒體捕獲和流
# mediastreamtrack

瀏覽器相容性

另見