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

浏览器兼容性