---
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
- {{ domxref("CameraManager") }}
- {{ domxref("CameraCapabilities") }}
- {{ domxref("navigator.mozCamera") }}