MediaStreamTrack
Baseline 廣泛可用 *
MediaStreamTrack 介面是 Media Capture and Streams API 的一部分,代表流中的單個媒體軌道;通常,這些是音訊或影片軌道,但也可能存在其他軌道型別。
一些使用者代理會繼承此介面,以提供更精確的資訊或功能,例如 CanvasCaptureMediaStreamTrack。
例項屬性
除了下面列出的屬性之外,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 |
瀏覽器相容性
載入中…