MediaTrackSettings

MediaTrackSettings 字典用於返回 MediaStreamTrack 的每個設定的當前值。這些值將盡可能貼近使用 MediaTrackConstraints 物件描述並使用 applyConstraints() 設定的約束,並且對於任何未更改約束或其自定義約束不匹配的屬性,將採用預設約束。

要了解有關約束和設定工作原理的更多資訊,請參閱 功能、約束和設定

例項屬性

以下一項或多項將包含在該物件中,原因可能是瀏覽器不支援,也可能是由於上下文不可用。例如,由於 RTP 在 WebRTC 連線的協商過程中不提供其中某些值,因此與 RTCPeerConnection 關聯的軌道將不包含某些值,例如 facingModegroupId

所有媒體軌道的例項屬性

deviceId

一個字串,指示 deviceId 屬性的當前值。裝置 ID 是一個源唯一的字串,用於標識軌道的來源;這通常是一個 GUID。此值特定於軌道資料的來源,不能用於設定約束;但是,在呼叫 MediaDevices.getUserMedia() 來最初選擇媒體時,可以使用它。

groupId

一個字串,指示 groupId 屬性的當前值。組 ID 是一個瀏覽器會話唯一的字串,用於標識軌道的源組。兩個裝置(由 deviceId 標識)如果來自同一物理裝置,則被視為同一組的一部分。例如,手機中內建的揚聲器和麥克風的音訊輸入和輸出裝置將共享相同的組 ID,因為它們屬於同一物理裝置。但是,耳機上的麥克風將具有不同的 ID。此值特定於軌道資料的來源,不能用於設定約束;但是,在呼叫 MediaDevices.getUserMedia() 來最初選擇媒體時,可以使用它。

音訊軌道的例項屬性

autoGainControl

一個布林值,指示 autoGainControl 屬性的當前值,如果啟用了自動增益控制,則為 true,否則為 false

channelCount

一個長整數值,指示 channelCount 屬性的當前值,指定軌道上存在的音訊通道數(因此表明每個音訊幀中有多少個音訊樣本)。對於單聲道為 1,立體聲為 2,依此類推。

echoCancellation

一個布林值,指示 echoCancellation 屬性的當前值,如果啟用了回聲消除,則為 true,否則為 false

latency

一個雙精度浮點數值,指示 latency 屬性的當前值,以秒為單位指定音訊延遲。延遲是指從音訊處理開始到資料可用於音訊利用過程的下一個停止點之間經過的時間。此值為目標值;由於各種原因,實際延遲可能在一定程度上有所不同。

noiseSuppression

一個布林值,指示 noiseSuppression 屬性的當前值:如果啟用了降噪,則為 true,否則為 false

restrictOwnAudio

一個布林值,指示 restrictOwnAudio 屬性的當前值:如果瀏覽器嘗試過濾掉螢幕捕獲期間源自捕獲標籤的系統音訊,則為 true,否則為 false

sampleRate

一個長整數值,指示 sampleRate 屬性的當前值,指定音訊資料的每秒取樣數。例如,標準的 CD 音質音訊的取樣率為每秒 41,000 個樣本。

sampleSize

一個長整數值,指示 sampleSize 屬性的當前值,指定每個音訊樣本的線性大小(以位元為單位)。例如,CD 音質音訊是 16 位,在這種情況下,此值為 16。

suppressLocalAudioPlayback

控制在捕獲標籤時,標籤中正在播放的音訊是否會繼續透過使用者的本地揚聲器播放。

volume 已棄用 非標準

一個雙精度浮點數值,指示 volume 屬性的當前值,指定軌道的音量級別。此值將在 0.0(靜音)到 1.0(最大支援音量)之間。

影片軌道的例項屬性

aspectRatio

一個雙精度浮點數值,指示 aspectRatio 屬性的當前值,精確到小數點後 10 位。這是影像的寬度(以畫素為單位)除以其高度(以畫素為單位)。常見的值包括 1.3333333333(經典電視 4:3“標準”縱橫比,也用於 iPad 等平板電腦)、1.7777777778(16:9 高畫質寬屏縱橫比)和 1.6(寬屏計算機和平板電腦常見的 16:10 縱橫比)。

facingMode

一個字串,指示 facingMode 屬性的當前值,指定攝像頭的朝向。該值將是以下之一:

"user"

面向使用者的攝像頭(俗稱“自拍相機”),用於自拍和視訊通話。

"environment"

面向遠離使用者的攝像頭(當用戶檢視螢幕時)。這通常是裝置上質量最高的攝像頭,用於一般攝影。

"left"

面向使用者左側環境的攝像頭。

面向使用者右側環境的攝像頭。

frameRate

一個雙精度浮點數值,指示 frameRate 屬性的當前值,指定軌道包含的每秒影片幀數。如果由於任何原因無法確定該值,則該值將匹配使用者代理執行裝置的人眼同步率。

height

一個長整數值,指示 height 屬性的當前值,指定軌道影片資料的高度(以畫素為單位)。

width

一個長整數值,指示 width 屬性的當前值,指定軌道影片資料的寬度(以畫素為單位)。

resizeMode

一個字串,指示 resizeMode 屬性的當前值,指定使用者代理用於派生軌道解析度的模式。該值將是以下之一:

"none"

軌道具有攝像頭、驅動程式或作業系統提供的解析度。

"crop-and-scale"

軌道的解析度可能是使用者代理從更高的攝像頭解析度進行裁剪或下縮的結果。

共享螢幕軌道的例項屬性

包含使用者螢幕共享影片的軌道(無論螢幕資料是來自整個螢幕還是螢幕的一部分,例如視窗或標籤)通常被視為影片軌道,但它們還支援以下附加設定:

cursor

一個字串,指示滑鼠游標是否包含在生成的流中以及在什麼條件下。可能的值為:

always

滑鼠在 {domxref("MediaStream")的影片內容中始終可見,除非滑鼠已移出內容區域。

motion

如果滑鼠游標正在移動,則影片中始終包含滑鼠游標,並在停止移動後短時間內包含。

never

影片中從不包含滑鼠游標。

displaySurface

一個字串,指定軌道包含的源型別;可以是以下之一:

browser

流包含使用者選擇的單個瀏覽器標籤頁的內容。

monitor

流的影片軌道包含使用者的一個或多個螢幕的全部內容。

window

流包含使用者選擇共享的單個視窗。

logicalSurface

一個布林值,如果為 true,則表示流的影片軌道中包含的影片包含後臺渲染上下文,而不是使用者可見的上下文。如果捕獲的影片來自前臺(使用者可見)源,則為 false

screenPixelRatio

一個數字,表示捕獲顯示錶面的畫素物理尺寸(以物理解析度顯示)與捕獲螢幕上的 CSS 畫素邏輯尺寸(以邏輯解析度顯示)之比。它不能用作約束或功能。

規範

規範
媒體捕獲和流
# media-track-settings
螢幕捕獲
# extensions-to-mediatracksettings

另見