This class was deprecated in API level 21.
We recommend using the new android.hardware.camera2 API for new applications.
Class Overview
Camera service settings.
To make camera parameters take effect, applications have to call setParameters(Camera.Parameters) .
For example, after setWhiteBalance(String) is called, white balance is not actually changed until
setParameters(Camera.Parameters) is called with the changed parameters object.
Different devices may have different camera capabilities, such as picture size or flash modes. The
application should query the camera capabilities before setting parameters. For example, the application
should call getSupportedColorEffects() before calling setColorEffect(String) . If the camera does
not support color effects, getSupportedColorEffects() will return null.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
Flash will be fired automatically when required. The flash may be fired during preview, auto-focus, or
snapshot depending on the driver.
Constant Value: "auto"
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
15/62
6/26/2015
Camera.Parameters | Android Developers
public static final String FLASH_MODE_OFF
Added in API level 5
Flash will not be fired.
Constant Value: "off"
public static final String FLASH_MODE_ON
Added in API level 5
Flash will always be fired during snapshot. The flash may also be fired during preview or auto-focus
depending on the driver.
Constant Value: "on"
public static final String FLASH_MODE_RED_EYE
Added in API level 5
Flash will be fired in red-eye reduction mode.
Constant Value: "red-eye"
public static final String FLASH_MODE_TORCH
Added in API level 5
Constant emission of light during preview, auto-focus and snapshot. This can also be used for video
recording.
Constant Value: "torch"
public static final int FOCUS_DISTANCE_FAR_INDEX
Added in API level 9
The array index of far focus distance for use with getFocusDistances(float[]) .
Constant Value: 2 (0x00000002)
The array index of near focus distance for use with getFocusDistances(float[]) .
Constant Value: 0 (0x00000000)
public static final int FOCUS_DISTANCE_OPTIMAL_INDEX
Added in API level 9
The array index of optimal focus distance for use with getFocusDistances(float[]) .
Constant Value: 1 (0x00000001)
public static final String FOCUS_MODE_AUTO
Added in API level 5
Auto-focus mode. Applications should call autoFocus(AutoFocusCallback) to start the focus in this
mode.
Constant Value: "auto"
public static final String FOCUS_MODE_CONTINUOUS_PICTURE
Added in API level 14
Continuous auto focus mode intended for taking pictures. The camera continuously tries to focus.
The speed of focus change is more aggressive than FOCUS_MODE_CONTINUOUS_VIDEO . Auto focus
starts when the parameter is set.
Applications can call autoFocus(AutoFocusCallback) in this mode. If the autofocus is in the middle
of scanning, the focus callback will return when it completes. If the autofocus is not scanning, the
focus callback will immediately return with a boolean that indicates whether the focus is sharp or not.
The apps can then decide if they want to take a picture immediately or to change the focus mode to
auto, and run a full autofocus cycle. The focus position is locked after autoFocus call. If applications
want to resume the continuous focus, cancelAutoFocus must be called. Restarting the preview will
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
17/62
6/26/2015
Camera.Parameters | Android Developers
not resume the continuous autofocus. To stop continuous focus, applications should change the
focus mode to other modes.
See Also
FOCUS_MODE_CONTINUOUS_VIDEO
Constant Value: "continuous-picture"
public static final String FOCUS_MODE_CONTINUOUS_VIDEO
Added in API level 9
Continuous auto focus mode intended for video recording. The camera continuously tries to focus.
This is the best choice for video recording because the focus changes smoothly . Applications still
can call takePicture(Camera.ShutterCallback, Camera.PictureCallback,
Camera.PictureCallback) in this mode but the subject may not be in focus. Auto focus starts when
the parameter is set.
Since API level 14, applications can call autoFocus(AutoFocusCallback) in this mode. The focus
callback will immediately return with a boolean that indicates whether the focus is sharp or not. The
focus position is locked after autoFocus call. If applications want to resume the continuous focus,
cancelAutoFocus must be called. Restarting the preview will not resume the continuous autofocus. To
stop continuous focus, applications should change the focus mode to other modes.
See Also
FOCUS_MODE_CONTINUOUS_PICTURE
Constant Value: "continuous-video"
public static final String FOCUS_MODE_EDOF
Added in API level 8
Extended depth of field (EDOF). Focusing is done digitally and continuously. Applications should not
call autoFocus(AutoFocusCallback) in this mode.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
18/62
6/26/2015
Camera.Parameters | Android Developers
Constant Value: "edof"
public static final String FOCUS_MODE_FIXED
Added in API level 5
Focus is fixed. The camera is always in this mode if the focus is not adjustable. If the camera has
auto-focus, this mode can fix the focus, which is usually at hyperfocal distance. Applications should
not call autoFocus(AutoFocusCallback) in this mode.
Constant Value: "fixed"
public static final String FOCUS_MODE_INFINITY
Added in API level 5
Focus is set at infinity. Applications should not call autoFocus(AutoFocusCallback) in this mode.
Constant Value: "infinity"
public static final String FOCUS_MODE_MACRO
Added in API level 5
Macro (close-up) focus mode. Applications should call autoFocus(AutoFocusCallback) to start the
focus in this mode.
Constant Value: "macro"
public static final int PREVIEW_FPS_MAX_INDEX
Added in API level 9
The array index of maximum preview fps for use with getPreviewFpsRange(int[]) or
getSupportedPreviewFpsRange() .
Constant Value: 1 (0x00000001)
public static final int PREVIEW_FPS_MIN_INDEX
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
Added in API level 9
19/62
6/26/2015
Camera.Parameters | Android Developers
The array index of minimum preview fps for use with getPreviewFpsRange(int[]) or
getSupportedPreviewFpsRange() .
Constant Value: 0 (0x00000000)
public static final String SCENE_MODE_ACTION
Added in API level 5
Take photos of fast moving objects. Same as SCENE_MODE_SPORTS .
Constant Value: "action"
public static final String SCENE_MODE_AUTO
Added in API level 5
Scene mode is off.
Constant Value: "auto"
public static final String SCENE_MODE_BARCODE
Added in API level 8
Applications are looking for a barcode. Camera driver will be optimized for barcode reading.
Constant Value: "barcode"
public static final String SCENE_MODE_BEACH
Added in API level 5
Take pictures on the beach.
Constant Value: "beach"
public static final String SCENE_MODE_CANDLELIGHT
Added in API level 5
Capture the naturally warm color of scenes lit by candles.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
20/62
6/26/2015
Camera.Parameters | Android Developers
Constant Value: "candlelight"
public static final String SCENE_MODE_FIREWORKS
Added in API level 5
For shooting firework displays.
Constant Value: "fireworks"
public static final String SCENE_MODE_HDR
Added in API level 17
Capture a scene using high dynamic range imaging techniques. The camera will return an image that
has an extended dynamic range compared to a regular capture. Capturing such an image may take
longer than a regular capture.
Constant Value: "hdr"
public static final String SCENE_MODE_LANDSCAPE
Added in API level 5
Take pictures on distant objects.
Constant Value: "landscape"
public static final String SCENE_MODE_NIGHT
Added in API level 5
Take photos at night.
Constant Value: "night"
public static final String SCENE_MODE_NIGHT_PORTRAIT
public static final String WHITE_BALANCE_WARM_FLUORESCENT
Added in API level 5
Constant Value: "warm-fluorescent"
Public Methods
public String flatten ()
Added in API level 1
Creates a single string with all the parameters set in this Parameters object.
The unflatten(String) method does the reverse.
Returns
a String with all values from this Parameters object, in semi-colon delimited key-value pairs
public String get (String key)
Added in API level 1
Returns the value of a String parameter.
Parameters
key
Gets the current antibanding setting.
Returns
current antibanding. null if antibanding setting is not supported.
See Also
ANTIBANDING_AUTO
ANTIBANDING_50HZ
ANTIBANDING_60HZ
ANTIBANDING_OFF
public boolean getAutoExposureLock ()
Added in API level 14
Gets the state of the auto-exposure lock. Applications should check
isAutoExposureLockSupported() before using this method. See setAutoExposureLock(boolean)
for details about the lock.
Returns
State of the auto-exposure lock. Returns true if auto-exposure is currently locked, and false
otherwise.
See Also
setAutoExposureLock(boolean)
Gets the state of the auto-white balance lock. Applications should check
isAutoWhiteBalanceLockSupported() before using this method. See
setAutoWhiteBalanceLock(boolean) for details about the lock.
Returns
State of the auto-white balance lock. Returns true if auto-white balance is currently locked, and false
otherwise.
See Also
setAutoWhiteBalanceLock(boolean)
public String getColorEffect ()
Added in API level 5
Gets the current color effect setting.
Returns
current color effect. null if color effect setting is not supported.
See Also
EFFECT_NONE
EFFECT_MONO
EFFECT_NEGATIVE
EFFECT_SOLARIZE
EFFECT_SEPIA
EFFECT_POSTERIZE
Gets the current exposure compensation index.
Returns
current exposure compensation index. The range is getMinExposureCompensation() to
getMaxExposureCompensation() . 0 means exposure is not adjusted.
public float getExposureCompensationStep ()
Added in API level 8
Gets the exposure compensation step.
Returns
exposure compensation step. Applications can get EV by multiplying the exposure compensation
index and step. Ex: if exposure compensation index is -6 and step is 0.333333333, EV is -2.
public String getFlashMode ()
Added in API level 5
Gets the current flash mode setting.
Returns
current flash mode. null if flash mode setting is not supported.
See Also
FLASH_MODE_OFF
Gets the focal length (in millimeter) of the camera.
Returns
the focal length. This method will always return a valid value.
public List<Camera.Area> getFocusAreas ()
Added in API level 14
Gets the current focus areas. Camera driver uses the areas to decide focus.
Before using this API or setFocusAreas(List) , apps should call getMaxNumFocusAreas() to know
the maximum number of focus areas first. If the value is 0, focus area is not supported.
Each focus area is a rectangle with specified weight. The direction is relative to the sensor orientation,
that is, what the sensor sees. The direction is not affected by the rotation or mirroring of
setDisplayOrientation(int) . Coordinates of the rectangle range from -1000 to 1000. (-1000,
-1000) is the upper left point. (1000, 1000) is the lower right point. The width and height of focus
areas cannot be 0 or negative.
The weight must range from 1 to 1000. The weight should be interpreted as a per-pixel weight - all
pixels in the area have the specified weight. This means a small area with the same weight as a larger
area will have less influence on the focusing than the larger area. Focus areas can partially overlap
and the driver will add the weights in the overlap region.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
28/62
6/26/2015
Camera.Parameters | Android Developers
A special case of a null focus area list means the driver is free to select focus targets as it wants.
For example, the driver may use more signals to select focus areas and change them dynamically.
Apps can set the focus area list to null if they want the driver to completely control focusing.
Focus areas are relative to the current field of view ( getZoom() ). No matter what the zoom level is,
(-1000,-1000) represents the top of the currently visible camera frame. The focus area cannot be set
to be outside the current field of view, even when using zoom.
Focus area only has effect if the current focus mode is FOCUS_MODE_AUTO , FOCUS_MODE_MACRO ,
FOCUS_MODE_CONTINUOUS_VIDEO , or FOCUS_MODE_CONTINUOUS_PICTURE .
Returns
a list of current focus areas
public void getFocusDistances (float[] output)
Added in API level 9
Gets the distances from the camera to where an object appears to be in focus. The object is sharpest
at the optimal focus distance. The depth of field is the far focus distance minus near focus distance.
Focus distances may change after calling autoFocus(AutoFocusCallback) , cancelAutoFocus() , or
startPreview() . Applications can call getParameters() and this method anytime to get the latest
focus distances. If the focus mode is FOCUS_MODE_CONTINUOUS_VIDEO, focus distances may
change from time to time.
This method is intended to estimate the distance between the camera and the subject. After
autofocus, the subject distance may be within near and far focus distance. However, the precision
depends on the camera hardware, autofocus algorithm, the focus area, and the scene. The error can
be large and it should be only used as a reference.
Far focus distance >= optimal focus distance >= near focus distance. If the focus distance is infinity,
the value will be Float.POSITIVE_INFINITY .
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
29/62
6/26/2015
Camera.Parameters | Android Developers
Parameters
output
focus distances in meters. output must be a float array with three elements. Near
focus distance, optimal focus distance, and far focus distance will be filled in the
array.
See Also
FOCUS_DISTANCE_NEAR_INDEX
FOCUS_DISTANCE_OPTIMAL_INDEX
FOCUS_DISTANCE_FAR_INDEX
public String getFocusMode ()
Added in API level 5
Gets the current focus mode setting.
Returns
current focus mode. This method will always return a non-null value. Applications should call
autoFocus(AutoFocusCallback) to start the focus if focus mode is FOCUS_MODE_AUTO or
FOCUS_MODE_MACRO.
See Also
FOCUS_MODE_AUTO
FOCUS_MODE_INFINITY
FOCUS_MODE_MACRO
FOCUS_MODE_FIXED
FOCUS_MODE_EDOF
FOCUS_MODE_CONTINUOUS_VIDEO
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
30/62
6/26/2015
Camera.Parameters | Android Developers
public float getHorizontalViewAngle ()
Added in API level 8
Gets the horizontal angle of view in degrees.
Returns
horizontal angle of view. This method will always return a valid value.
public int getInt (String key)
Added in API level 1
Returns the value of an integer parameter.
Parameters
key
the key name for the parameter
Returns
the int value of the parameter
public int getJpegQuality ()
Added in API level 5
Returns the quality setting for the JPEG picture.
Returns
the JPEG picture quality setting.
public int getJpegThumbnailQuality ()
Added in API level 5
Returns the quality setting for the EXIF thumbnail in Jpeg picture.
Returns
the JPEG quality setting of the EXIF thumbnail.
Returns the dimensions for EXIF thumbnail in Jpeg picture.
Returns
a Size object with the height and width setting for the EXIF thumbnails
public int getMaxExposureCompensation ()
Added in API level 8
Gets the maximum exposure compensation index.
Returns
maximum exposure compensation index (>=0). If both this method and
getMinExposureCompensation() return 0, exposure compensation is not supported.
public int getMaxNumDetectedFaces ()
Added in API level 14
Gets the maximum number of detected faces supported. This is the maximum length of the list
returned from Camera.FaceDetectionListener . If the return value is 0, face detection of the
specified type is not supported.
Returns
the maximum number of detected face supported by the camera.
See Also
startFaceDetection()
public int getMaxNumFocusAreas ()
Added in API level 14
Gets the maximum number of focus areas supported. This is the maximum length of the list in
setFocusAreas(List) and getFocusAreas() .
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
32/62
6/26/2015
Camera.Parameters | Android Developers
Returns
the maximum number of focus areas supported by the camera.
See Also
getFocusAreas()
public int getMaxNumMeteringAreas ()
Added in API level 14
Gets the maximum number of metering areas supported. This is the maximum length of the list in
setMeteringAreas(List) and getMeteringAreas() .
Returns
the maximum number of metering areas supported by the camera.
See Also
getMeteringAreas()
public int getMaxZoom ()
Added in API level 8
Gets the maximum zoom value allowed for snapshot. This is the maximum value that applications
can set to setZoom(int) . Applications should call isZoomSupported() before using this method.
This value may change in different preview size. Applications should call this again after setting
preview size.
Returns
the maximum zoom value supported by the camera.
public List<Camera.Area> getMeteringAreas ()
Added in API level 14
Gets the current metering areas. Camera driver uses these areas to decide exposure.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
33/62
6/26/2015
Camera.Parameters | Android Developers
Before using this API or setMeteringAreas(List) , apps should call getMaxNumMeteringAreas() to
know the maximum number of metering areas first. If the value is 0, metering area is not supported.
Each metering area is a rectangle with specified weight. The direction is relative to the sensor
orientation, that is, what the sensor sees. The direction is not affected by the rotation or mirroring of
setDisplayOrientation(int) . Coordinates of the rectangle range from -1000 to 1000. (-1000,
-1000) is the upper left point. (1000, 1000) is the lower right point. The width and height of metering
areas cannot be 0 or negative.
The weight must range from 1 to 1000, and represents a weight for every pixel in the area. This means
that a large metering area with the same weight as a smaller area will have more effect in the
metering result. Metering areas can partially overlap and the driver will add the weights in the overlap
region.
A special case of a null metering area list means the driver is free to meter as it chooses. For
example, the driver may use more signals to select metering areas and change them dynamically.
Apps can set the metering area list to null if they want the driver to completely control metering.
Metering areas are relative to the current field of view ( getZoom() ). No matter what the zoom level is,
(-1000,-1000) represents the top of the currently visible camera frame. The metering area cannot be
set to be outside the current field of view, even when using zoom.
No matter what metering areas are, the final exposure are compensated by
setExposureCompensation(int) .
Returns
a list of current metering areas
public int getMinExposureCompensation ()
Added in API level 8
Gets the minimum exposure compensation index.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
34/62
6/26/2015
Camera.Parameters | Android Developers
Returns
minimum exposure compensation index (<=0). If both this method and
getMaxExposureCompensation() return 0, exposure compensation is not supported.
public int getPictureFormat ()
Added in API level 1
Returns the image format for pictures.
Returns
the picture format
See Also
ImageFormat
public Camera.Size getPictureSize ()
Added in API level 1
Returns the dimension setting for pictures.
Returns
a Size object with the height and width setting for pictures
public Camera.Size getPreferredPreviewSizeForVideo ()
Added in API level 11
Returns the preferred or recommended preview size (width and height) in pixels for video recording.
Camcorder applications should set the preview size to a value that is not larger than the preferred
preview size. In other words, the product of the width and height of the preview size should not be
larger than that of the preferred preview size. In addition, we recommend to choose a preview size
that has the same aspect ratio as the resolution of video to be recorded.
Returns
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
35/62
6/26/2015
Camera.Parameters | Android Developers
the preferred preview size (width and height) in pixels for video recording if
getSupportedVideoSizes() does not return null; otherwise, null is returned.
See Also
getSupportedVideoSizes()
public int getPreviewFormat ()
Added in API level 1
Returns the image format for preview frames got from Camera.PreviewCallback .
Returns
the preview format.
See Also
ImageFormat
setPreviewFormat(int)
public void getPreviewFpsRange (int[] range)
Added in API level 9
Returns the current minimum and maximum preview fps. The values are one of the elements returned
by getSupportedPreviewFpsRange() .
Returns
range the minimum and maximum preview fps (scaled by 1000).
See Also
PREVIEW_FPS_MIN_INDEX
PREVIEW_FPS_MAX_INDEX
getSupportedPreviewFpsRange()
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
36/62
6/26/2015
Camera.Parameters | Android Developers
public int getPreviewFrameRate ()
Added in API level 1
This method was deprecated in API level 9.
replaced by getPreviewFpsRange(int[])
Returns the setting for the rate at which preview frames are received. This is the target frame rate.
The actual frame rate depends on the driver.
Returns
the frame rate setting (frames per second)
public Camera.Size getPreviewSize ()
Added in API level 1
Returns the dimensions setting for preview pictures.
Returns
a Size object with the width and height setting for the preview picture
public String getSceneMode ()
Added in API level 5
Gets the current scene mode setting.
Returns
one of SCENE_MODE_XXX string constant. null if scene mode setting is not supported.
See Also
SCENE_MODE_AUTO
SCENE_MODE_ACTION
SCENE_MODE_PORTRAIT
Gets the supported antibanding values.
Returns
a list of supported antibanding values. null if antibanding setting is not supported.
See Also
getAntibanding()
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
38/62
6/26/2015
Camera.Parameters | Android Developers
public List<String> getSupportedColorEffects ()
Added in API level 5
Gets the supported color effects.
Returns
a list of supported color effects. null if color effect setting is not supported.
See Also
getColorEffect()
public List<String> getSupportedFlashModes ()
Added in API level 5
Gets the supported flash modes.
Returns
a list of supported flash modes. null if flash mode setting is not supported.
See Also
getFlashMode()
public List<String> getSupportedFocusModes ()
Added in API level 5
Gets the supported focus modes.
Returns
a list of supported focus modes. This method will always return a list with at least one element.
See Also
getFocusMode()
public List<Camera.Size> getSupportedJpegThumbnailSizes ()
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
39/62
6/26/2015
Camera.Parameters | Android Developers
Gets the supported jpeg thumbnail sizes.
Added in API level 8
Returns
a list of Size object. This method will always return a list with at least two elements. Size 0,0 (no
thumbnail) is always supported.
public List<Integer> getSupportedPictureFormats ()
Added in API level 5
Gets the supported picture formats.
Returns
supported picture formats. This method will always return a list with at least one element.
See Also
ImageFormat
public List<Camera.Size> getSupportedPictureSizes ()
Added in API level 5
Gets the supported picture sizes.
Returns
a list of supported picture sizes. This method will always return a list with at least one element.
public List<Integer> getSupportedPreviewFormats ()
Added in API level 5
Gets the supported preview formats. NV21 is always supported. YV12 is always supported since API
level 12.
Returns
a list of supported preview formats. This method will always return a list with at least one element.
Gets the supported preview fps (frame-per-second) ranges. Each range contains a minimum fps and
maximum fps. If minimum fps equals to maximum fps, the camera outputs frames in fixed frame
rate. If not, the camera outputs frames in auto frame rate. The actual frame rate fluctuates between
the minimum and the maximum. The values are multiplied by 1000 and represented in integers. For
example, if frame rate is 26.623 frames per second, the value is 26623.
Returns
a list of supported preview fps ranges. This method returns a list with at least one element. Every
element is an int array of two values - minimum fps and maximum fps. The list is sorted from small
to large (first by maximum fps and then minimum fps).
See Also
PREVIEW_FPS_MIN_INDEX
PREVIEW_FPS_MAX_INDEX
public List<Integer> getSupportedPreviewFrameRates ()
Added in API level 5
This method was deprecated in API level 9.
replaced by getSupportedPreviewFpsRange()
Gets the supported preview frame rates.
Returns
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
41/62
6/26/2015
Camera.Parameters | Android Developers
a list of supported preview frame rates. null if preview frame rate setting is not supported.
public List<Camera.Size> getSupportedPreviewSizes ()
Added in API level 5
Gets the supported preview sizes.
Returns
a list of Size object. This method will always return a list with at least one element.
public List<String> getSupportedSceneModes ()
Added in API level 5
Gets the supported scene modes.
Returns
a list of supported scene modes. null if scene mode setting is not supported.
See Also
getSceneMode()
public List<Camera.Size> getSupportedVideoSizes ()
Added in API level 11
Gets the supported video frame sizes that can be used by MediaRecorder.
If the returned list is not null, the returned list will contain at least one Size and one of the sizes in the
returned list must be passed to MediaRecorder.setVideoSize() for camcorder application if camera is
used as the video source. In this case, the size of the preview can be different from the resolution of
the recorded video during video recording.
Returns
a list of Size object if camera has separate preview and video output; otherwise, null is returned.
Gets the supported white balance.
Returns
a list of supported white balance. null if white balance setting is not supported.
See Also
getWhiteBalance()
public float getVerticalViewAngle ()
Added in API level 8
Gets the vertical angle of view in degrees.
Returns
vertical angle of view. This method will always return a valid value.
public boolean getVideoStabilization ()
Added in API level 15
Get the current state of video stabilization. See setVideoStabilization(boolean) for details of
video stabilization.
Returns
true if video stabilization is enabled
See Also
isVideoStabilizationSupported()
Gets the current white balance setting.
Returns
current white balance. null if white balance setting is not supported.
See Also
WHITE_BALANCE_AUTO
WHITE_BALANCE_INCANDESCENT
WHITE_BALANCE_FLUORESCENT
WHITE_BALANCE_WARM_FLUORESCENT
WHITE_BALANCE_DAYLIGHT
WHITE_BALANCE_CLOUDY_DAYLIGHT
WHITE_BALANCE_TWILIGHT
WHITE_BALANCE_SHADE
public int getZoom ()
Added in API level 8
Gets current zoom value. This also works when smooth zoom is in progress. Applications should
check isZoomSupported() before using this method.
Returns
the current zoom value. The range is 0 to getMaxZoom() . 0 means the camera is not zoomed.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
44/62
6/26/2015
Camera.Parameters | Android Developers
public List<Integer> getZoomRatios ()
Added in API level 8
Gets the zoom ratios of all zoom values. Applications should check isZoomSupported() before using
this method.
Returns
the zoom ratios in 1/100 increments. Ex: a zoom of 3.2x is returned as 320. The number of
elements is getMaxZoom() + 1. The list is sorted from small to large. The first element is always
100. The last element is the zoom ratio of the maximum zoom value.
public boolean isAutoExposureLockSupported ()
Added in API level 14
Returns true if auto-exposure locking is supported. Applications should call this before trying to lock
auto-exposure. See setAutoExposureLock(boolean) for details about the lock.
Returns
true if auto-exposure lock is supported.
See Also
setAutoExposureLock(boolean)
public boolean isAutoWhiteBalanceLockSupported ()
Added in API level 14
Returns true if auto-white balance locking is supported. Applications should call this before trying to
lock auto-white balance. See setAutoWhiteBalanceLock(boolean) for details about the lock.
Returns
true if auto-white balance lock is supported.
See Also
setAutoWhiteBalanceLock(boolean)
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
45/62
6/26/2015
Camera.Parameters | Android Developers
public boolean isSmoothZoomSupported ()
Added in API level 8
Returns true if smooth zoom is supported. Applications should call this before using other smooth
zoom methods.
Returns
true if smooth zoom is supported.
public boolean isVideoSnapshotSupported ()
Added in API level 14
Returns true if video snapshot is supported. That is, applications can call
takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback,
Camera.PictureCallback) during recording. Applications do not need to call startPreview() after
taking a picture. The preview will be still active. Other than that, taking a picture during recording is
identical to taking a picture normally. All settings and methods related to takePicture work identically.
Ex: getPictureSize() , getSupportedPictureSizes() , setJpegQuality(int) ,
setRotation(int) , and etc. The picture will have an EXIF header. FLASH_MODE_AUTO and
FLASH_MODE_ON also still work, but the video will record the flash.
Applications can set shutter callback as null to avoid the shutter sound. It is also recommended to set
raw picture and post view callbacks to null to avoid the interrupt of preview display.
Field-of-view of the recorded video may be different from that of the captured pictures. The maximum
size of a video snapshot may be smaller than that for regular still captures. If the current picture size
is set higher than can be supported by video snapshot, the picture will be captured at the maximum
supported size instead.
Returns
true if video snapshot is supported.
Returns true if video stabilization is supported. See setVideoStabilization(boolean) for details of
video stabilization.
Returns
true if video stabilization is supported
See Also
setVideoStabilization(boolean)
getVideoStabilization()
public boolean isZoomSupported ()
Added in API level 8
Returns true if zoom is supported. Applications should call this before using other zoom methods.
Returns
true if zoom is supported.
public void remove (String key)
Added in API level 1
public void removeGpsData ()
Added in API level 5
Removes GPS latitude, longitude, altitude, and timestamp from the parameters.
public void set (String key, String value)
Added in API level 1
Sets a String parameter.
Parameters
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
47/62
6/26/2015
Camera.Parameters | Android Developers
key
the key name for the parameter
value
the String value of the parameter
public void set (String key, int value)
Added in API level 1
Sets an integer parameter.
Parameters
key
the key name for the parameter
value
the int value of the parameter
public void setAntibanding (String antibanding)
Added in API level 5
Sets the antibanding.
Parameters
antibanding
new antibanding value.
See Also
getAntibanding()
public void setAutoExposureLock (boolean toggle)
Added in API level 14
Sets the auto-exposure lock state. Applications should check isAutoExposureLockSupported()
before using this method.
If set to true, the camera auto-exposure routine will immediately pause until the lock is set to false.
Exposure compensation settings changes will still take effect while auto-exposure is locked.
If auto-exposure is already locked, setting this to true again has no effect (the driver will not
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
48/62
6/26/2015
Camera.Parameters | Android Developers
recalculate exposure values).
Stopping preview with stopPreview() , or triggering still image capture with
takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback) , will
not change the lock.
Exposure compensation, auto-exposure lock, and auto-white balance lock can be used to capture an
exposure-bracketed burst of images, for example.
Auto-exposure state, including the lock state, will not be maintained after camera release() is
called. Locking auto-exposure after open() but before the first call to startPreview() will not allow
the auto-exposure routine to run at all, and may result in severely over- or under-exposed images.
Parameters
toggle
new state of the auto-exposure lock. True means that auto-exposure is locked, false
means that the auto-exposure routine is free to run normally.
See Also
getAutoExposureLock()
public void setAutoWhiteBalanceLock (boolean toggle)
Added in API level 14
Sets the auto-white balance lock state. Applications should check
isAutoWhiteBalanceLockSupported() before using this method.
If set to true, the camera auto-white balance routine will immediately pause until the lock is set to
false.
If auto-white balance is already locked, setting this to true again has no effect (the driver will not
recalculate white balance values).
Stopping preview with stopPreview() , or triggering still image capture with
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
49/62
6/26/2015
Camera.Parameters | Android Developers
takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback) , will
not change the the lock.
Changing the white balance mode with setWhiteBalance(String) will release the auto-white
balance lock if it is set.
Exposure compensation, AE lock, and AWB lock can be used to capture an exposure-bracketed burst
of images, for example. Auto-white balance state, including the lock state, will not be maintained after
camera release() is called. Locking auto-white balance after open() but before the first call to
startPreview() will not allow the auto-white balance routine to run at all, and may result in severely
incorrect color in captured images.
Parameters
toggle
new state of the auto-white balance lock. True means that auto-white balance is
locked, false means that the auto-white balance routine is free to run normally.
See Also
getAutoWhiteBalanceLock()
setWhiteBalance(String)
public void setColorEffect (String value)
Added in API level 5
Sets the current color effect setting.
Parameters
value
Sets the exposure compensation index.
Parameters
value
exposure compensation index. The valid value range is from
getMinExposureCompensation() (inclusive) to getMaxExposureCompensation()
(inclusive). 0 means exposure is not adjusted. Application should call
getMinExposureCompensation and getMaxExposureCompensation to know if exposure
compensation is supported.
public void setFlashMode (String value)
Added in API level 5
Sets the flash mode.
Parameters
value
flash mode.
See Also
getFlashMode()
public void setFocusAreas (List<Camera.Area> focusAreas)
Added in API level 14
Sets focus areas. See getFocusAreas() for documentation.
Parameters
focusAreas
Sets the dimensions for EXIF thumbnail in Jpeg picture. If applications set both width and height to 0,
EXIF will not contain thumbnail.
Applications need to consider the display orientation. See setPreviewSize(int, int) for reference.
Parameters
width
the width of the thumbnail, in pixels
height
the height of the thumbnail, in pixels
See Also
setPreviewSize(int, int)
public void setMeteringAreas (List<Camera.Area> meteringAreas)
Added in API level 14
Sets metering areas. See getMeteringAreas() for documentation.
Parameters
meteringAreas
the metering areas
See Also
getMeteringAreas()
public void setPictureFormat (int pixel_format)
Added in API level 1
Sets the image format for pictures.
Parameters
pixel_format
the desired picture format (ImageFormat.NV21, ImageFormat.RGB_565, or
ImageFormat.JPEG)
See Also
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
54/62
6/26/2015
Camera.Parameters | Android Developers
ImageFormat
public void setPictureSize (int width, int height)
Added in API level 1
Sets the dimensions for pictures.
Applications need to consider the display orientation. See setPreviewSize(int, int) for reference.
Parameters
width
the width for pictures, in pixels
height
the height for pictures, in pixels
See Also
setPreviewSize(int, int)
public void setPreviewFormat (int pixel_format)
Added in API level 1
Sets the image format for preview pictures.
If this is never called, the default format will be NV21 , which uses the NV21 encoding format.
Use getSupportedPreviewFormats() to get a list of the available preview formats.
It is strongly recommended that either NV21 or YV12 is used, since they are supported by all camera
devices.
For YV12, the image buffer that is received is not necessarily tightly packed, as there may be padding
at the end of each row of pixel data, as described in YV12 . For camera callback data, it can be
assumed that the stride of the Y and UV data is the smallest possible that meets the alignment
requirements. That is, if the preview size is width x height, then the following equations describe the
buffer index for the beginning of row y for the Y plane and row c for the U and V planes:
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
the desired preview picture format, defined by one of the ImageFormat
constants. (E.g., ImageFormat.NV21 (default), or ImageFormat.YV12)
See Also
ImageFormat
getSupportedPreviewFormats()
public void setPreviewFpsRange (int min, int max)
Added in API level 9
Sets the minimum and maximum preview fps. This controls the rate of preview frames received in
Camera.PreviewCallback . The minimum and maximum preview fps must be one of the elements
from getSupportedPreviewFpsRange() .
Parameters
min
See Also
setPreviewCallbackWithBuffer(Camera.PreviewCallback)
getSupportedPreviewFpsRange()
public void setPreviewFrameRate (int fps)
Added in API level 1
This method was deprecated in API level 9.
replaced by setPreviewFpsRange(int, int)
Sets the rate at which preview frames are received. This is the target frame rate. The actual frame
rate depends on the driver.
Parameters
fps
the frame rate (frames per second)
public void setPreviewSize (int width, int height)
Added in API level 1
Sets the dimensions for preview pictures. If the preview has already started, applications should stop
the preview first before changing preview size. The sides of width and height are based on camera
orientation. That is, the preview size is the size before it is rotated by display orientation. So
applications need to consider the display orientation while setting preview size. For example, suppose
the camera supports both 480x320 and 320x480 preview sizes. The application wants a 3:2 preview
ratio. If the display orientation is set to 0 or 180, preview size should be set to 480x320. If the display
orientation is set to 90 or 270, preview size should be set to 320x480. The display orientation should
also be considered while setting picture size and thumbnail size.
Parameters
width
See Also
setDisplayOrientation(int)
getCameraInfo(int, CameraInfo)
setPictureSize(int, int)
setJpegThumbnailSize(int, int)
public void setRecordingHint (boolean hint)
Added in API level 14
Sets recording mode hint. This tells the camera that the intent of the application is to record videos
start() , not to take still pictures takePicture(Camera.ShutterCallback,
Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) . Using this hint
can allow MediaRecorder.start() to start faster or with fewer glitches on output. This should be called
before starting preview for the best result, but can be changed while the preview is active. The default
value is false. The app can still call takePicture() when the hint is true or call MediaRecorder.start()
when the hint is false. But the performance may be worse.
Parameters
hint
true if the apps intend to record videos using MediaRecorder .
public void setRotation (int rotation)
Added in API level 5
Sets the clockwise rotation angle in degrees relative to the orientation of the camera. This affects the
pictures returned from JPEG Camera.PictureCallback . The camera driver may set orientation in the
EXIF header without rotating the picture. Or the driver may rotate the picture and the EXIF thumbnail. If
the Jpeg picture is rotated, the orientation in the EXIF header will be missing or 1 (row #0 is top and
column #0 is left side).
If applications want to rotate the picture to match the orientation of what users see, apps should use
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
58/62
6/26/2015
Camera.Parameters | Android Developers
OrientationEventListener and Camera.CameraInfo . The value from OrientationEventListener is
relative to the natural orientation of the device. CameraInfo.orientation is the angle between camera
orientation and natural device orientation. The sum of the two is the rotation angle for back-facing
camera. The difference of the two is the rotation angle for front-facing camera. Note that the JPEG
pictures of front-facing cameras are not mirrored as in preview display.
For example, suppose the natural orientation of the device is portrait. The device is rotated 270
degrees clockwise, so the device orientation is 270. Suppose a back-facing camera sensor is
mounted in landscape and the top side of the camera sensor is aligned with the right edge of the
display in natural orientation. So the camera orientation is 90. The rotation should be set to 0 (270 +
90).
The reference code is as follows.
public void onOrientationChanged(int orientation) {
if (orientation == ORIENTATION_UNKNOWN) return;
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
orientation = (orientation + 45) / 90 * 90;
int rotation = 0;
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
rotation = (info.orientation ‐ orientation + 360) % 360;
} else { // back‐facing camera
rotation = (info.orientation + orientation) % 360;
}
mParameters.setRotation(rotation);
}
Parameters
rotation
The rotation angle in degrees relative to the orientation of the camera. Rotation can
only be 0, 90, 180 or 270.
Throws
IllegalArgumentException
if rotation value is invalid.
See Also
OrientationEventListener
getCameraInfo(int, CameraInfo)
public void setSceneMode (String value)
Added in API level 5
Sets the scene mode. Changing scene mode may override other parameters (such as flash mode,
focus mode, white balance). For example, suppose originally flash mode is on and supported flash
modes are on/off. In night scene mode, both flash mode and supported flash mode may be changed
to off. After setting scene mode, applications should call getParameters to know if some parameters
are changed.
Parameters
value
scene mode.
See Also
getSceneMode()
public void setVideoStabilization (boolean toggle)
Added in API level 15
Enables and disables video stabilization. Use isVideoStabilizationSupported() to determine if
calling this method is valid.
Video stabilization reduces the shaking due to the motion of the camera in both the preview stream
and in recorded videos, including data received from the preview callback. It does not reduce motion
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
60/62
6/26/2015
Camera.Parameters | Android Developers
blur in images captured with takePicture .
Video stabilization can be enabled and disabled while preview or recording is active, but toggling it
may cause a jump in the video stream that may be undesirable in a recorded video.
Parameters
toggle
Set to true to enable video stabilization, and false to disable video stabilization.
See Also
isVideoStabilizationSupported()
getVideoStabilization()
public void setWhiteBalance (String value)
Added in API level 5
Sets the white balance. Changing the setting will release the auto-white balance lock. It is
recommended not to change white balance and AWB lock at the same time.
Parameters
value
new white balance.
See Also
getWhiteBalance()
setAutoWhiteBalanceLock(boolean)
public void setZoom (int value)
Added in API level 8
Sets current zoom value. If the camera is zoomed (value > 0), the actual picture size may be smaller
than picture size setting. Applications can check the actual picture size after picture is returned from
Camera.PictureCallback . The preview size remains the same in zoom. Applications should check
isZoomSupported() before using this method.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFrameRate(int)
61/62
6/26/2015
Camera.Parameters | Android Developers
Parameters
value
zoom value. The valid range is 0 to getMaxZoom() .
public void unflatten (String flattened)
Added in API level 1
Takes a flattened string of parameters and adds each one to this Parameters object.
The flatten() method does the reverse.
Parameters
flattened
a String of parameters (key-value paired) that are semi-colon delimited
Get news & tips
Blog Support
Except as noted, this content is licensed under Apache 2.0. For details and restrictions, see the Content License.
Android 5.1 r1 — 24 Jun 2015 22:05
About Android | Auto | TV | Wear | Legal