MediaStreamTrack: getConstraints() 方法

Baseline 已廣泛支援

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

MediaStreamTrack 介面的 getConstraints() 方法返回一個 MediaTrackConstraints 物件,其中包含使用先前呼叫 applyConstraints() 時為軌道建立的最新一組約束。這些約束指示了網站或應用程式已指定的、對於包含的可約束屬性是必需的或可接受的值和值範圍。

約束可用於確保媒體符合您偏好的某些準則。例如,您可能偏好高畫質影片,但要求幀率稍低,以幫助保持資料速率足夠低,從而不會過度消耗網路。約束還可以指定理想和/或可接受的大小或大小範圍。有關如何使用可約束屬性的詳細資訊,請參閱 能力、約束和設定

語法

js
getConstraints()

引數

無。

返回值

一個 MediaTrackConstraints 物件,表示網站或應用程式使用 applyConstraints() 最​​新設定的可約束屬性。返回物件中的屬性按設定時的順序排列,並且只包含由網站或應用程式專門設定的屬性。

注意: 返回的約束集不一定描述媒體的實際狀態。即使某些約束無法滿足,它們仍然包含在返回的物件中,就像最初由網站程式碼設定的那樣。要獲取所有可約束屬性的當前活動設定,您應該改為呼叫 getSettings()

示例

此示例獲取軌道的當前約束,設定 facingMode,並應用更新的約束。

js
function switchCameras(track, camera) {
  const constraints = track.getConstraints();
  constraints.facingMode = camera;
  track.applyConstraints(constraints);
}

規範

規範
媒體捕獲和流
# dom-mediastreamtrack-getconstraints

瀏覽器相容性