MediaTrackConstraints: facingMode 属性

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本使用。自 2017 年 9 月以来,它已在浏览器中提供。

MediaTrackConstraints 字典的 facingMode 属性是一个 ConstrainDOMString,描述了对 facingMode 可约束属性值的请求或强制约束。

如果需要,您可以通过调用 MediaDevices.getSupportedConstraints() 返回的 MediaTrackSupportedConstraints.facingMode 的值来确定是否支持此约束。但是,通常这是不必要的,因为浏览器会忽略它们不认识的任何约束。

由于 RTP 不包含此信息,因此与 WebRTC RTCPeerConnection 关联的轨道永远不会包含此属性。

一个基于 ConstrainDOMString 的对象,指定一个或多个可接受的、理想的以及/或精确的(强制性的)朝向模式,这些模式对于视频轨道是可接受的。

在这种情况下,exact 值表示明确要求指定的朝向模式;例如:

js
const constraints = {
  facingMode: { exact: "user" },
};

这表明只有面向用户的摄像头是可接受的;如果不存在面向用户的摄像头,或者用户拒绝使用该摄像头的权限,则媒体请求将失败。

以下字符串是朝向模式允许的值。这些可能代表独立的摄像头,或者可能代表可调节摄像头可以指向的方向。

"user"

视频源面向用户;这包括,例如,智能手机的前置摄像头。

"environment"

视频源背离用户,从而查看其周围环境。这是智能手机的后置摄像头。

"left"

视频源面向用户但偏向其左侧,例如,一个摄像头对准用户但位于其左肩上方。

视频源面向用户但偏向其右侧,例如,一个摄像头对准用户但位于其右肩上方。

示例

请参阅 Constraint exerciser 示例。

规范

规范
媒体捕获和流
# dom-mediatrackconstraintset-facingmode

浏览器兼容性

另见