MediaTrackConstraints
MediaTrackConstraints
字典用于描述一组功能以及每个功能可以采用的值或值集。约束字典传递到 applyConstraints()
,以允许脚本为轨道建立一组确切的(必需)值或范围和/或首选值或范围,并且可以通过调用 getConstraints()
来检索最近请求的一组自定义约束。
约束
以下类型用于指定属性的约束。它们允许您指定一个或多个exact
值,其中一个必须是参数的值,或者指定一组ideal
值,这些值应尽可能使用。您还可以指定一个值(或一个值数组),用户代理将尽力在应用所有更严格的约束后匹配该值。
要详细了解约束的工作原理,请参阅 功能、约束和设置。
注意:min
和exact
值不允许在 MediaDevices.getDisplayMedia()
调用中使用的约束中使用 - 它们会产生TypeError
- 但它们允许在 MediaStreamTrack.applyConstraints()
调用中使用的约束中使用。
ConstrainBoolean
ConstrainDouble
ConstrainDOMString
ConstrainULong
实例属性
对象上会存在以下属性的一些组合 - 但不一定全部 -。这可能是因为给定浏览器不支持该属性,或者因为它不适用。例如,由于 RTP 在协商 WebRTC 连接时不提供其中一些值,因此与 RTCPeerConnection
关联的轨道将不包含某些值,例如 facingMode
或 groupId
。
所有媒体轨道的实例属性
设备 ID
-
一个
ConstrainDOMString
对象,指定可接受和/或必需的设备 ID 或设备 ID 数组。 组 ID
-
一个
ConstrainDOMString
对象,指定可接受和/或必需的组 ID 或组 ID 数组。
音频轨道的实例属性
自动增益控制
-
一个
ConstrainBoolean
对象,指定是否首选和/或需要自动增益控制。 声道数
-
一个
ConstrainULong
,指定可接受和/或必需的声道数或声道数范围。 回声消除
-
一个
ConstrainBoolean
对象,指定是否首选和/或需要回声消除。 延迟
-
一个
ConstrainDouble
,指定可接受和/或必需的延迟或延迟范围。 噪声抑制
-
一个
ConstrainBoolean
,指定是否首选和/或需要噪声抑制。 采样率
-
一个
ConstrainULong
,指定可接受和/或必需的采样率或采样率范围。 样本大小
-
一个
ConstrainULong
,指定可接受和/或必需的样本大小或样本大小范围。 volume
已弃用 非标准-
一个
ConstrainDouble
,指定可接受和/或必需的音量或音量范围。
图像轨道的实例属性
- 白平衡模式
-
一个
String
,指定"none"
、"manual"
、"single-shot"
或"continuous"
之一。 - 曝光模式
-
一个
String
,指定"none"
、"manual"
、"single-shot"
或"continuous"
之一。 - 对焦模式
-
一个
String
,指定"none"
、"manual"
、"single-shot"
或"continuous"
之一。 - 兴趣点
-
传感器上一个或多个兴趣点的像素坐标。这可以是 { x:value, y:value } 形式的对象,也可以是此类对象的数组,其中value 是双精度整数。
- 曝光补偿
-
一个
ConstrainDouble
(双精度整数),指定最多 ±3 的光圈调整。 - 色温
-
一个
ConstrainDouble
(双精度整数),指定以开尔文度为单位的所需色温。 - ISO
-
一个
ConstrainDouble
(双精度整数),指定所需的 ISO 设置。 - 亮度
-
一个
ConstrainDouble
(双精度整数),指定所需的亮度设置。 - 对比度
-
一个
ConstrainDouble
(双精度整数),指定明暗之间的差异程度。 - 饱和度
-
一个
ConstrainDouble
(双精度整数),指定颜色强度的程度。 -
一个
ConstrainDouble
(双精度整数),指定边缘的强度。 - 对焦距离
-
一个
ConstrainDouble
(双精度整数),指定对焦对象的距离。 - 变焦
-
一个
ConstrainDouble
(双精度整数),指定所需的焦距。 - 手电筒
-
一个布尔值,定义填充光是否持续连接,这意味着只要轨道处于活动状态,它就会一直亮着。
视频轨道的实例属性
纵横比
-
一个
ConstrainDouble
,指定视频 纵横比 或可接受和/或必需的纵横比范围。 面对模式
-
一个
ConstrainDOMString
对象,指定可接受和/或必需的面部或面部数组。 帧速率
-
一个
ConstrainDouble
,指定可接受和/或必需的帧速率或帧速率范围。 高度
-
一个
ConstrainULong
,指定可接受和/或必需的视频高度或高度范围。 宽度
-
一个
ConstrainULong
,指定可接受和/或必需的视频宽度或宽度范围。 - resizeMode
-
一个
ConstrainDOMString
对象,指定 UA 可以用来推导出视频轨道分辨率的模式或模式数组。允许的值为none
和crop-and-scale
。none
表示用户代理使用相机、其驱动程序或操作系统提供的分辨率。crop-and-scale
表示用户代理可以使用裁剪和缩小相机输出,以满足影响分辨率的其他约束。
共享屏幕轨道的实例属性
这些约束适用于传递给 getDisplayMedia()
以获取用于屏幕共享的流的对象的 video
属性。
显示面
-
一个
ConstrainDOMString
,指定用户可以选择的用户可以选择显示表面的类型。这可以是以下字符串中的一个,或者是一个列表,允许多个源表面 逻辑面
-
一个
ConstrainBoolean
值,可以包含一个布尔值或一组布尔值,指示是否允许用户选择与显示区域不直接对应的源表面。这些可能包括窗口的后台缓冲区,允许捕获被其前面其他窗口隐藏的窗口内容,或者包含需要滚动才能在其窗口中查看整个内容的更大文档的缓冲区。 suppressLocalAudioPlayback
实验性-
一个
ConstrainBoolean
值,描述对suppressLocalAudioPlayback
可约束属性的值施加的请求或强制约束。此属性控制当标签被捕获时,标签中播放的音频是否会继续从用户的本地扬声器中播放出来。
规范
规范 |
---|
媒体捕获和流 # dom-mediatrackconstraints |