Web/API/MediaTrackConstraints/facingMode

From Get docs


The MediaTrackConstraints dictionary's facingMode property is a ConstrainDOMString describing the requested or mandatory constraints placed upon the value of the facingMode constrainable property.

If needed, you can determine whether or not this constraint is supported by checking the value of MediaTrackSupportedConstraints.facingMode as returned by a call to MediaDevices.getSupportedConstraints(). However, typically this is unnecessary since browsers will simply ignore any constraints they're unfamiliar with.

Because RTP doesn't include this information, tracks associated with a WebRTC RTCPeerConnection will never include this property.

Syntax

var constraintsObject = { facingMode: constraint };

constraintsObject.facingMode = constraint;

Value

An object based on ConstrainDOMString specifying one or more acceptable, ideal, and/or exact (mandatory) facing modes are acceptable for a video track.

An exact value in this case indicates that the specified facing mode is specifically required; for example:

var constraints = {
  facingMode: { exact: "user" }
};

This indicates that only a user-facing camera is acceptable; if there is no user-facing camera, or the user declines permission to use that camera, the media request will fail.

The following strings are permitted values for the facing mode. These may represent separate cameras, or they may represent directions in which an adjustable camera can be pointed.

"user"
The video source is facing toward the user; this includes, for example, the front-facing camera on a smartphone.
"environment"
The video source is facing away from the user, thereby viewing their environment. This is the back camera on a smartphone.
"left"
The video source is facing toward the user but to their left, such as a camera aimed toward the user but over their left shoulder.
"right"
The video source is facing toward the user but to their right, such as a camera aimed toward the user but over their right shoulder.

Example

See Example: Constraint exerciser in Capabilities, constraints, and settings for an example.

Specifications

Specification Status Comment
Media Capture and StreamsThe definition of 'facingMode' in that specification. Candidate Recommendation Initial specification.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
facingMode Chrome

Full support 59

Edge

Full support ≤79

Firefox

Full support 50

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support 59

Chrome Android

Full support 59

Firefox Android

Full support 50

Opera Android

?

Safari iOS

?

Samsung Internet Android

Full support 7.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown


See also