--- title: CameraControl slug: Web/API/CameraControl translation_of: Archive/B2G_OS/API/CameraControl ---

{{APIRef("Camera API")}}

{{ non-standard_header() }}

When you use the {{domxref("CameraManager.getCamera()")}} method to get a reference to a camera, you specify a callback function to be invoked on success. That function receives as a parameter a CameraControl object. You can use its methods and properties to manage and make use of the camera.

Properties

{{domxref("CameraControl.capabilities")}} {{readonlyinline}}
A {{domxref("CameraCapabilities")}} object indicating all the capabilities for the given camera.
{{domxref("CameraControl.effect")}}
A string defining the effect to be used by the camera (none by default). Its value must be one of the values available in {{domxref("CameraCapabilities.effects")}}.
{{domxref("CameraControl.exposureCompensation")}} {{readonlyinline}}
A value used to compensate the camera exposure. This attribute is read-only; to change the exposure, you need to call the {{domxref("CameraControl.setExposureCompensation()")}} method.
{{domxref("CameraControl.flashMode")}}
A string that defines how the flash, if any, is to be used; this is auto by default if the device has a flash, none otherwise. When set, its value must be chosen from the list of options specified by  {{domxref("CameraCapabilities.flashModes")}}.
{{domxref("CameraControl.focalLength")}} {{readonlyinline}}
A number that express the camera's focal length in millimeters.
{{domxref("CameraControl.focusAreas")}}
An Array of one or more objects that define where the camera will perform auto-focusing.
{{domxref("CameraControl.focusDistanceFar")}} {{readonlyinline}}
This value is a distance in meter used with {{domxref("CameraControl.focusDistanceNear")}} to defined the image's depth of field. The value for this property may be Infinity.
{{domxref("CameraControl.focusDistanceNear")}} {{readonlyinline}}
This value is a distance in meter used with {{domxref("CameraControl.focusDistanceFar")}} to defined the image's depth of field.
{{domxref("CameraControl.focusDistanceOptimum")}} {{readonlyinline}}
This value is a distance in meter where the subject will appear sharpest.
{{domxref("CameraControl.focusMode")}}
A string that defines which kind of focus mode the camera should use (auto or fixed by default). Its value must be chosen from {{domxref("CameraCapabilities.focusModes")}}.
{{domxref("CameraControl.meteringAreas")}}
An Array of one or more objects that define where the camera will perform auto-focusing.
{{domxref("CameraControl.onShutter")}}
A handler for the camera's "shutter" event, to trigger a shutter sound and/or a visual shutter indicator.
{{domxref("CameraControl.onClosed")}}
A handler called when a new CameraControl object in the same app takes over the camera.
{{domxref("CameraControl.onRecorderStateChange")}}
A function to call when the recorder changes state, either because the recording process encountered an error, or because one of the recording limits (see {{domxref("CameraControl.startRecording()")}}) was reached.
{{domxref("CameraControl.sceneMode")}}
A string that defines which scene mode the camera is to use (auto by default). Its value must be chosen from {{domxref("CameraCapabilities.sceneModes")}}.
{{domxref("CameraControl.whiteBalanceMode")}}
A string that defines which white balance mode the camera is to use (auto by default). Its value must be chosen from {{domxref("CameraCapabilities.whiteBalanceModes")}}.
{{domxref("CameraControl.zoom")}}
A number that defines which kind of zoom factor mode the camera is to use (1 by default). Its value must be chosen from {{domxref("CameraCapabilities.zoomRatios")}}.

Methods

{{ domxref("CameraControl.autoFocus()") }}
Tells the camera to attempt to focus the image.
{{ domxref("CameraControl.getPreviewStream()") }}
Gets a video stream from the camera; you can use this in an arbitrary context.
{{ domxref("CameraControl.getPreviewStreamVideoMode()") }}
Gets a video stream from the camera based on a specific video mode.
{{ domxref("CameraControl.release()") }}
Releases the camera so that other applications can use it.
{{ domxref("CameraControl.resumePreview()") }}
Resumes the preview video stream after it's been paused by a call to {{domxref("CameraControl.takePicture()")}}.
{{ domxref("CameraControl.setExposureCompensation()") }}
Lets you specify the exposure compensation factor.
{{ domxref("CameraControl.startRecording()") }}
Lets you start recording a video stream.
{{ domxref("CameraControl.stopRecording()") }}
Lets you stop recording a video stream.
{{ domxref("CameraControl.takePicture()") }}
Lets you capture a single image, receiving it as a {{domxref("Blob")}}.

Specification

{{page("/en-US/docs/Web/API/Navigator.MozCameras","Specification")}}

Permissions

{{page("/en-US/docs/Web/API/Navigator.MozCameras","Permissions")}}

See also