files/en-us/web/api/mediatrackconstraints/facingmode/index.md
{{APIRef("Media Capture and Streams")}}
The {{domxref("MediaTrackConstraints")}} dictionary's
facingMode property is a ConstrainDOMString
describing the requested or mandatory constraints placed upon the value of the
{{domxref("MediaTrackSettings.facingMode", "facingMode")}} constrainable property.
If needed, you can determine whether or not this constraint is supported by checking the value of {{domxref("MediaTrackSupportedConstraints.facingMode")}} as returned by a call to {{domxref("MediaDevices.getSupportedConstraints()")}}. However, typically this is unnecessary since browsers will ignore any constraints they're unfamiliar with.
Because {{Glossary("RTP")}} doesn't include this information, tracks associated with a WebRTC {{domxref("RTCPeerConnection")}} will never include this property.
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:
const 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"
"environment"
"left"
"right"
See the Constraint exerciser example.
{{Specifications}}
{{Compat}}