Most visited

Recently visited

Added in API level 1
Deprecated since API level 21

Camera.Parameters

public class Camera.Parameters
extends Object

java.lang.Object
   ↳ android.hardware.Camera.Parameters


This class was deprecated in API level 21.
We recommend using the new android.hardware.camera2 API for new applications.

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.

Summary

Constants

String ANTIBANDING_50HZ

String ANTIBANDING_60HZ

String ANTIBANDING_AUTO

String ANTIBANDING_OFF

String EFFECT_AQUA

String EFFECT_BLACKBOARD

String EFFECT_MONO

String EFFECT_NEGATIVE

String EFFECT_NONE

String EFFECT_POSTERIZE

String EFFECT_SEPIA

String EFFECT_SOLARIZE

String EFFECT_WHITEBOARD

String FLASH_MODE_AUTO

Flash will be fired automatically when required.

String FLASH_MODE_OFF

Flash will not be fired.

String FLASH_MODE_ON

Flash will always be fired during snapshot.

String FLASH_MODE_RED_EYE

Flash will be fired in red-eye reduction mode.

String FLASH_MODE_TORCH

Constant emission of light during preview, auto-focus and snapshot.

int FOCUS_DISTANCE_FAR_INDEX

The array index of far focus distance for use with getFocusDistances(float[]).

int FOCUS_DISTANCE_NEAR_INDEX

The array index of near focus distance for use with getFocusDistances(float[]).

int FOCUS_DISTANCE_OPTIMAL_INDEX

The array index of optimal focus distance for use with getFocusDistances(float[]).

String FOCUS_MODE_AUTO

Auto-focus mode.

String FOCUS_MODE_CONTINUOUS_PICTURE

Continuous auto focus mode intended for taking pictures.

String FOCUS_MODE_CONTINUOUS_VIDEO

Continuous auto focus mode intended for video recording.

String FOCUS_MODE_EDOF

Extended depth of field (EDOF).

String FOCUS_MODE_FIXED

Focus is fixed.

String FOCUS_MODE_INFINITY

Focus is set at infinity.

String FOCUS_MODE_MACRO

Macro (close-up) focus mode.

int PREVIEW_FPS_MAX_INDEX

The array index of maximum preview fps for use with getPreviewFpsRange(int[]) or getSupportedPreviewFpsRange().

int PREVIEW_FPS_MIN_INDEX

The array index of minimum preview fps for use with getPreviewFpsRange(int[]) or getSupportedPreviewFpsRange().

String SCENE_MODE_ACTION

Take photos of fast moving objects.

String SCENE_MODE_AUTO

Scene mode is off.

String SCENE_MODE_BARCODE

Applications are looking for a barcode.

String SCENE_MODE_BEACH

Take pictures on the beach.

String SCENE_MODE_CANDLELIGHT

Capture the naturally warm color of scenes lit by candles.

String SCENE_MODE_FIREWORKS

For shooting firework displays.

String SCENE_MODE_HDR

Capture a scene using high dynamic range imaging techniques.

String SCENE_MODE_LANDSCAPE

Take pictures on distant objects.

String SCENE_MODE_NIGHT

Take photos at night.

String SCENE_MODE_NIGHT_PORTRAIT

Take people pictures at night.

String SCENE_MODE_PARTY

Take indoor low-light shot.

String SCENE_MODE_PORTRAIT

Take people pictures.

String SCENE_MODE_SNOW

Take pictures on the snow.

String SCENE_MODE_SPORTS

Take photos of fast moving objects.

String SCENE_MODE_STEADYPHOTO

Avoid blurry pictures (for example, due to hand shake).

String SCENE_MODE_SUNSET

Take sunset photos.

String SCENE_MODE_THEATRE

Take photos in a theater.

String WHITE_BALANCE_AUTO

String WHITE_BALANCE_CLOUDY_DAYLIGHT

String WHITE_BALANCE_DAYLIGHT

String WHITE_BALANCE_FLUORESCENT

String WHITE_BALANCE_INCANDESCENT

String WHITE_BALANCE_SHADE

String WHITE_BALANCE_TWILIGHT

String WHITE_BALANCE_WARM_FLUORESCENT

Public methods

String flatten()

Creates a single string with all the parameters set in this Parameters object.

String get(String key)

Returns the value of a String parameter.

String getAntibanding()

Gets the current antibanding setting.

boolean getAutoExposureLock()

Gets the state of the auto-exposure lock.

boolean getAutoWhiteBalanceLock()

Gets the state of the auto-white balance lock.

String getColorEffect()

Gets the current color effect setting.

int getExposureCompensation()

Gets the current exposure compensation index.

float getExposureCompensationStep()

Gets the exposure compensation step.

String getFlashMode()

Gets the current flash mode setting.

float getFocalLength()

Gets the focal length (in millimeter) of the camera.

List<Camera.Area> getFocusAreas()

Gets the current focus areas.

void getFocusDistances(float[] output)

Gets the distances from the camera to where an object appears to be in focus.

String getFocusMode()

Gets the current focus mode setting.

float getHorizontalViewAngle()

Gets the horizontal angle of view in degrees.

int getInt(String key)

Returns the value of an integer parameter.

int getJpegQuality()

Returns the quality setting for the JPEG picture.

int getJpegThumbnailQuality()

Returns the quality setting for the EXIF thumbnail in Jpeg picture.

Camera.Size getJpegThumbnailSize()

Returns the dimensions for EXIF thumbnail in Jpeg picture.

int getMaxExposureCompensation()

Gets the maximum exposure compensation index.

int getMaxNumDetectedFaces()

Gets the maximum number of detected faces supported.

int getMaxNumFocusAreas()

Gets the maximum number of focus areas supported.

int getMaxNumMeteringAreas()

Gets the maximum number of metering areas supported.

int getMaxZoom()

Gets the maximum zoom value allowed for snapshot.

List<Camera.Area> getMeteringAreas()

Gets the current metering areas.

int getMinExposureCompensation()

Gets the minimum exposure compensation index.

int getPictureFormat()

Returns the image format for pictures.

Camera.Size getPictureSize()

Returns the dimension setting for pictures.

Camera.Size getPreferredPreviewSizeForVideo()

Returns the preferred or recommended preview size (width and height) in pixels for video recording.

int getPreviewFormat()

Returns the image format for preview frames got from Camera.PreviewCallback.

void getPreviewFpsRange(int[] range)

Returns the current minimum and maximum preview fps.

int getPreviewFrameRate()

This method was deprecated in API level 9. replaced by getPreviewFpsRange(int[])

Camera.Size getPreviewSize()

Returns the dimensions setting for preview pictures.

String getSceneMode()

Gets the current scene mode setting.

List<String> getSupportedAntibanding()

Gets the supported antibanding values.

List<String> getSupportedColorEffects()

Gets the supported color effects.

List<String> getSupportedFlashModes()

Gets the supported flash modes.

List<String> getSupportedFocusModes()

Gets the supported focus modes.

List<Camera.Size> getSupportedJpegThumbnailSizes()

Gets the supported jpeg thumbnail sizes.

List<Integer> getSupportedPictureFormats()

Gets the supported picture formats.

List<Camera.Size> getSupportedPictureSizes()

Gets the supported picture sizes.

List<Integer> getSupportedPreviewFormats()

Gets the supported preview formats.

List<int[]> getSupportedPreviewFpsRange()

Gets the supported preview fps (frame-per-second) ranges.

List<Integer> getSupportedPreviewFrameRates()

This method was deprecated in API level 9. replaced by getSupportedPreviewFpsRange()

List<Camera.Size> getSupportedPreviewSizes()

Gets the supported preview sizes.

List<String> getSupportedSceneModes()

Gets the supported scene modes.

List<Camera.Size> getSupportedVideoSizes()

Gets the supported video frame sizes that can be used by MediaRecorder.

List<String> getSupportedWhiteBalance()

Gets the supported white balance.

float getVerticalViewAngle()

Gets the vertical angle of view in degrees.

boolean getVideoStabilization()

Get the current state of video stabilization.

String getWhiteBalance()

Gets the current white balance setting.

int getZoom()

Gets current zoom value.

List<Integer> getZoomRatios()

Gets the zoom ratios of all zoom values.

boolean isAutoExposureLockSupported()

Returns true if auto-exposure locking is supported.

boolean isAutoWhiteBalanceLockSupported()

Returns true if auto-white balance locking is supported.

boolean isSmoothZoomSupported()

Returns true if smooth zoom is supported.

boolean isVideoSnapshotSupported()

Returns true if video snapshot is supported.

boolean isVideoStabilizationSupported()

Returns true if video stabilization is supported.

boolean isZoomSupported()

Returns true if zoom is supported.

void remove(String key)
void removeGpsData()

Removes GPS latitude, longitude, altitude, and timestamp from the parameters.

void set(String key, String value)

Sets a String parameter.

void set(String key, int value)

Sets an integer parameter.

void setAntibanding(String antibanding)

Sets the antibanding.

void setAutoExposureLock(boolean toggle)

Sets the auto-exposure lock state.

void setAutoWhiteBalanceLock(boolean toggle)

Sets the auto-white balance lock state.

void setColorEffect(String value)

Sets the current color effect setting.

void setExposureCompensation(int value)

Sets the exposure compensation index.

void setFlashMode(String value)

Sets the flash mode.

void setFocusAreas(List<Camera.Area> focusAreas)

Sets focus areas.

void setFocusMode(String value)

Sets the focus mode.

void setGpsAltitude(double altitude)

Sets GPS altitude.

void setGpsLatitude(double latitude)

Sets GPS latitude coordinate.

void setGpsLongitude(double longitude)

Sets GPS longitude coordinate.

void setGpsProcessingMethod(String processing_method)

Sets GPS processing method.

void setGpsTimestamp(long timestamp)

Sets GPS timestamp.

void setJpegQuality(int quality)

Sets Jpeg quality of captured picture.

void setJpegThumbnailQuality(int quality)

Sets the quality of the EXIF thumbnail in Jpeg picture.

void setJpegThumbnailSize(int width, int height)

Sets the dimensions for EXIF thumbnail in Jpeg picture.

void setMeteringAreas(List<Camera.Area> meteringAreas)

Sets metering areas.

void setPictureFormat(int pixel_format)

Sets the image format for pictures.

void setPictureSize(int width, int height)

Sets the dimensions for pictures.

void setPreviewFormat(int pixel_format)

Sets the image format for preview pictures.

void setPreviewFpsRange(int min, int max)

Sets the minimum and maximum preview fps.

void setPreviewFrameRate(int fps)

This method was deprecated in API level 9. replaced by setPreviewFpsRange(int, int)

void setPreviewSize(int width, int height)

Sets the dimensions for preview pictures.

void setRecordingHint(boolean hint)

Sets recording mode hint.

void setRotation(int rotation)

Sets the clockwise rotation angle in degrees relative to the orientation of the camera.

void setSceneMode(String value)

Sets the scene mode.

void setVideoStabilization(boolean toggle)

Enables and disables video stabilization.

void setWhiteBalance(String value)

Sets the white balance.

void setZoom(int value)

Sets current zoom value.

void unflatten(String flattened)

Takes a flattened string of parameters and adds each one to this Parameters object.

Inherited methods

From class java.lang.Object

Constants

ANTIBANDING_50HZ

Added in API level 5
String ANTIBANDING_50HZ

Constant Value: "50hz"

ANTIBANDING_60HZ

Added in API level 5
String ANTIBANDING_60HZ

Constant Value: "60hz"

ANTIBANDING_AUTO

Added in API level 5
String ANTIBANDING_AUTO

Constant Value: "auto"

ANTIBANDING_OFF

Added in API level 5
String ANTIBANDING_OFF

Constant Value: "off"

EFFECT_AQUA

Added in API level 5
String EFFECT_AQUA

Constant Value: "aqua"

EFFECT_BLACKBOARD

Added in API level 5
String EFFECT_BLACKBOARD

Constant Value: "blackboard"

EFFECT_MONO

Added in API level 5
String EFFECT_MONO

Constant Value: "mono"

EFFECT_NEGATIVE

Added in API level 5
String EFFECT_NEGATIVE

Constant Value: "negative"

EFFECT_NONE

Added in API level 5
String EFFECT_NONE

Constant Value: "none"

EFFECT_POSTERIZE

Added in API level 5
String EFFECT_POSTERIZE

Constant Value: "posterize"

EFFECT_SEPIA

Added in API level 5
String EFFECT_SEPIA

Constant Value: "sepia"

EFFECT_SOLARIZE

Added in API level 5
String EFFECT_SOLARIZE

Constant Value: "solarize"

EFFECT_WHITEBOARD

Added in API level 5
String EFFECT_WHITEBOARD

Constant Value: "whiteboard"

FLASH_MODE_AUTO

Added in API level 5
String FLASH_MODE_AUTO

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"

FLASH_MODE_OFF

Added in API level 5
String FLASH_MODE_OFF

Flash will not be fired.

Constant Value: "off"

FLASH_MODE_ON

Added in API level 5
String FLASH_MODE_ON

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"

FLASH_MODE_RED_EYE

Added in API level 5
String FLASH_MODE_RED_EYE

Flash will be fired in red-eye reduction mode.

Constant Value: "red-eye"

FLASH_MODE_TORCH

Added in API level 5
String FLASH_MODE_TORCH

Constant emission of light during preview, auto-focus and snapshot. This can also be used for video recording.

Constant Value: "torch"

FOCUS_DISTANCE_FAR_INDEX

Added in API level 9
int FOCUS_DISTANCE_FAR_INDEX

The array index of far focus distance for use with getFocusDistances(float[]).

Constant Value: 2 (0x00000002)

FOCUS_DISTANCE_NEAR_INDEX

Added in API level 9
int FOCUS_DISTANCE_NEAR_INDEX

The array index of near focus distance for use with getFocusDistances(float[]).

Constant Value: 0 (0x00000000)

FOCUS_DISTANCE_OPTIMAL_INDEX

Added in API level 9
int FOCUS_DISTANCE_OPTIMAL_INDEX

The array index of optimal focus distance for use with getFocusDistances(float[]).

Constant Value: 1 (0x00000001)

FOCUS_MODE_AUTO

Added in API level 5
String FOCUS_MODE_AUTO

Auto-focus mode. Applications should call autoFocus(AutoFocusCallback) to start the focus in this mode.

Constant Value: "auto"

FOCUS_MODE_CONTINUOUS_PICTURE

Added in API level 14
String FOCUS_MODE_CONTINUOUS_PICTURE

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 not resume the continuous autofocus. To stop continuous focus, applications should change the focus mode to other modes.

See also:

Constant Value: "continuous-picture"

FOCUS_MODE_CONTINUOUS_VIDEO

Added in API level 9
String FOCUS_MODE_CONTINUOUS_VIDEO

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:

Constant Value: "continuous-video"

FOCUS_MODE_EDOF

Added in API level 8
String FOCUS_MODE_EDOF

Extended depth of field (EDOF). Focusing is done digitally and continuously. Applications should not call autoFocus(AutoFocusCallback) in this mode.

Constant Value: "edof"

FOCUS_MODE_FIXED

Added in API level 5
String FOCUS_MODE_FIXED

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"

FOCUS_MODE_INFINITY

Added in API level 5
String FOCUS_MODE_INFINITY

Focus is set at infinity. Applications should not call autoFocus(AutoFocusCallback) in this mode.

Constant Value: "infinity"

FOCUS_MODE_MACRO

Added in API level 5
String FOCUS_MODE_MACRO

Macro (close-up) focus mode. Applications should call autoFocus(AutoFocusCallback) to start the focus in this mode.

Constant Value: "macro"

PREVIEW_FPS_MAX_INDEX

Added in API level 9
int PREVIEW_FPS_MAX_INDEX

The array index of maximum preview fps for use with getPreviewFpsRange(int[]) or getSupportedPreviewFpsRange().

Constant Value: 1 (0x00000001)

PREVIEW_FPS_MIN_INDEX

Added in API level 9
int PREVIEW_FPS_MIN_INDEX

The array index of minimum preview fps for use with getPreviewFpsRange(int[]) or getSupportedPreviewFpsRange().

Constant Value: 0 (0x00000000)

SCENE_MODE_ACTION

Added in API level 5
String SCENE_MODE_ACTION

Take photos of fast moving objects. Same as SCENE_MODE_SPORTS.

Constant Value: "action"

SCENE_MODE_AUTO

Added in API level 5
String SCENE_MODE_AUTO

Scene mode is off.

Constant Value: "auto"

SCENE_MODE_BARCODE

Added in API level 8
String SCENE_MODE_BARCODE

Applications are looking for a barcode. Camera driver will be optimized for barcode reading.

Constant Value: "barcode"

SCENE_MODE_BEACH

Added in API level 5
String SCENE_MODE_BEACH

Take pictures on the beach.

Constant Value: "beach"

SCENE_MODE_CANDLELIGHT

Added in API level 5
String SCENE_MODE_CANDLELIGHT

Capture the naturally warm color of scenes lit by candles.

Constant Value: "candlelight"

SCENE_MODE_FIREWORKS

Added in API level 5
String SCENE_MODE_FIREWORKS

For shooting firework displays.

Constant Value: "fireworks"

SCENE_MODE_HDR

Added in API level 17
String SCENE_MODE_HDR

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"

SCENE_MODE_LANDSCAPE

Added in API level 5
String SCENE_MODE_LANDSCAPE

Take pictures on distant objects.

Constant Value: "landscape"

SCENE_MODE_NIGHT

Added in API level 5
String SCENE_MODE_NIGHT

Take photos at night.

Constant Value: "night"

SCENE_MODE_NIGHT_PORTRAIT

Added in API level 5
String SCENE_MODE_NIGHT_PORTRAIT

Take people pictures at night.

Constant Value: "night-portrait"

SCENE_MODE_PARTY

Added in API level 5
String SCENE_MODE_PARTY

Take indoor low-light shot.

Constant Value: "party"

SCENE_MODE_PORTRAIT

Added in API level 5
String SCENE_MODE_PORTRAIT

Take people pictures.

Constant Value: "portrait"

SCENE_MODE_SNOW

Added in API level 5
String SCENE_MODE_SNOW

Take pictures on the snow.

Constant Value: "snow"

SCENE_MODE_SPORTS

Added in API level 5
String SCENE_MODE_SPORTS

Take photos of fast moving objects. Same as SCENE_MODE_ACTION.

Constant Value: "sports"

SCENE_MODE_STEADYPHOTO

Added in API level 5
String SCENE_MODE_STEADYPHOTO

Avoid blurry pictures (for example, due to hand shake).

Constant Value: "steadyphoto"

SCENE_MODE_SUNSET

Added in API level 5
String SCENE_MODE_SUNSET

Take sunset photos.

Constant Value: "sunset"

SCENE_MODE_THEATRE

Added in API level 5
String SCENE_MODE_THEATRE

Take photos in a theater. Flash light is off.

Constant Value: "theatre"

WHITE_BALANCE_AUTO

Added in API level 5
String WHITE_BALANCE_AUTO

Constant Value: "auto"

WHITE_BALANCE_CLOUDY_DAYLIGHT

Added in API level 5
String WHITE_BALANCE_CLOUDY_DAYLIGHT

Constant Value: "cloudy-daylight"

WHITE_BALANCE_DAYLIGHT

Added in API level 5
String WHITE_BALANCE_DAYLIGHT

Constant Value: "daylight"

WHITE_BALANCE_FLUORESCENT

Added in API level 5
String WHITE_BALANCE_FLUORESCENT

Constant Value: "fluorescent"

WHITE_BALANCE_INCANDESCENT

Added in API level 5
String WHITE_BALANCE_INCANDESCENT

Constant Value: "incandescent"

WHITE_BALANCE_SHADE

Added in API level 5
String WHITE_BALANCE_SHADE

Constant Value: "shade"

WHITE_BALANCE_TWILIGHT

Added in API level 5
String WHITE_BALANCE_TWILIGHT

Constant Value: "twilight"

WHITE_BALANCE_WARM_FLUORESCENT

Added in API level 5
String WHITE_BALANCE_WARM_FLUORESCENT

Constant Value: "warm-fluorescent"

Public methods

flatten

Added in API level 1
String flatten ()

Creates a single string with all the parameters set in this Parameters object.

The unflatten(String) method does the reverse.

Returns
String a String with all values from this Parameters object, in semi-colon delimited key-value pairs

get

Added in API level 1
String get (String key)

Returns the value of a String parameter.

Parameters
key String: the key name for the parameter
Returns
String the String value of the parameter

getAntibanding

Added in API level 5
String getAntibanding ()

Gets the current antibanding setting.

Returns
String current antibanding. null if antibanding setting is not supported.

See also:

getAutoExposureLock

Added in API level 14
boolean getAutoExposureLock ()

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
boolean State of the auto-exposure lock. Returns true if auto-exposure is currently locked, and false otherwise.

See also:

getAutoWhiteBalanceLock

Added in API level 14
boolean getAutoWhiteBalanceLock ()

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
boolean State of the auto-white balance lock. Returns true if auto-white balance is currently locked, and false otherwise.

See also:

getColorEffect

Added in API level 5
String getColorEffect ()

Gets the current color effect setting.

Returns
String current color effect. null if color effect setting is not supported.

See also:

getExposureCompensation

Added in API level 8
int getExposureCompensation ()

Gets the current exposure compensation index.

Returns
int current exposure compensation index. The range is getMinExposureCompensation() to getMaxExposureCompensation(). 0 means exposure is not adjusted.

getExposureCompensationStep

Added in API level 8
float getExposureCompensationStep ()

Gets the exposure compensation step.

Returns
float 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.

getFlashMode

Added in API level 5
String getFlashMode ()

Gets the current flash mode setting.

Returns
String current flash mode. null if flash mode setting is not supported.

See also:

getFocalLength

Added in API level 8
float getFocalLength ()

Gets the focal length (in millimeter) of the camera.

Returns
float the focal length. This method will always return a valid value.

getFocusAreas

Added in API level 14
List<Camera.Area> getFocusAreas ()

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.

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
List<Camera.Area> a list of current focus areas

getFocusDistances

Added in API level 9
void getFocusDistances (float[] output)

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.

Parameters
output float: 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:

getFocusMode

Added in API level 5
String getFocusMode ()

Gets the current focus mode setting.

Returns
String 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:

getHorizontalViewAngle

Added in API level 8
float getHorizontalViewAngle ()

Gets the horizontal angle of view in degrees.

Returns
float horizontal angle of view. This method will always return a valid value.

getInt

Added in API level 1
int getInt (String key)

Returns the value of an integer parameter.

Parameters
key String: the key name for the parameter
Returns
int the int value of the parameter

getJpegQuality

Added in API level 5
int getJpegQuality ()

Returns the quality setting for the JPEG picture.

Returns
int the JPEG picture quality setting.

getJpegThumbnailQuality

Added in API level 5
int getJpegThumbnailQuality ()

Returns the quality setting for the EXIF thumbnail in Jpeg picture.

Returns
int the JPEG quality setting of the EXIF thumbnail.

getJpegThumbnailSize

Added in API level 5
Camera.Size getJpegThumbnailSize ()

Returns the dimensions for EXIF thumbnail in Jpeg picture.

Returns
Camera.Size a Size object with the height and width setting for the EXIF thumbnails

getMaxExposureCompensation

Added in API level 8
int getMaxExposureCompensation ()

Gets the maximum exposure compensation index.

Returns
int maximum exposure compensation index (>=0). If both this method and getMinExposureCompensation() return 0, exposure compensation is not supported.

getMaxNumDetectedFaces

Added in API level 14
int getMaxNumDetectedFaces ()

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
int the maximum number of detected face supported by the camera.

See also:

getMaxNumFocusAreas

Added in API level 14
int getMaxNumFocusAreas ()

Gets the maximum number of focus areas supported. This is the maximum length of the list in setFocusAreas(List) and getFocusAreas().

Returns
int the maximum number of focus areas supported by the camera.

See also:

getMaxNumMeteringAreas

Added in API level 14
int getMaxNumMeteringAreas ()

Gets the maximum number of metering areas supported. This is the maximum length of the list in setMeteringAreas(List) and getMeteringAreas().

Returns
int the maximum number of metering areas supported by the camera.

See also:

getMaxZoom

Added in API level 8
int getMaxZoom ()

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
int the maximum zoom value supported by the camera.

getMeteringAreas

Added in API level 14
List<Camera.Area> getMeteringAreas ()

Gets the current metering areas. Camera driver uses these areas to decide exposure.

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
List<Camera.Area> a list of current metering areas

getMinExposureCompensation

Added in API level 8
int getMinExposureCompensation ()

Gets the minimum exposure compensation index.

Returns
int minimum exposure compensation index (<=0). If both this method and getMaxExposureCompensation() return 0, exposure compensation is not supported.

getPictureFormat

Added in API level 1
int getPictureFormat ()

Returns the image format for pictures.

Returns
int the picture format

See also:

getPictureSize

Added in API level 1
Camera.Size getPictureSize ()

Returns the dimension setting for pictures.

Returns
Camera.Size a Size object with the height and width setting for pictures

getPreferredPreviewSizeForVideo

Added in API level 11
Camera.Size getPreferredPreviewSizeForVideo ()

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
Camera.Size the preferred preview size (width and height) in pixels for video recording if getSupportedVideoSizes() does not return null; otherwise, null is returned.

See also:

getPreviewFormat

Added in API level 1
int getPreviewFormat ()

Returns the image format for preview frames got from Camera.PreviewCallback.

Returns
int the preview format.

See also:

getPreviewFpsRange

Added in API level 9
void getPreviewFpsRange (int[] range)

Returns the current minimum and maximum preview fps. The values are one of the elements returned by getSupportedPreviewFpsRange().

Parameters
range int
Returns
void range the minimum and maximum preview fps (scaled by 1000).

See also:

getPreviewFrameRate

Added in API level 1
int getPreviewFrameRate ()

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
int the frame rate setting (frames per second)

getPreviewSize

Added in API level 1
Camera.Size getPreviewSize ()

Returns the dimensions setting for preview pictures.

Returns
Camera.Size a Size object with the width and height setting for the preview picture

getSupportedAntibanding

Added in API level 5
List<String> getSupportedAntibanding ()

Gets the supported antibanding values.

Returns
List<String> a list of supported antibanding values. null if antibanding setting is not supported.

See also:

getSupportedColorEffects

Added in API level 5
List<String> getSupportedColorEffects ()

Gets the supported color effects.

Returns
List<String> a list of supported color effects. null if color effect setting is not supported.

See also:

getSupportedFlashModes

Added in API level 5
List<String> getSupportedFlashModes ()

Gets the supported flash modes.

Returns
List<String> a list of supported flash modes. null if flash mode setting is not supported.

See also:

getSupportedFocusModes

Added in API level 5
List<String> getSupportedFocusModes ()

Gets the supported focus modes.

Returns
List<String> a list of supported focus modes. This method will always return a list with at least one element.

See also:

getSupportedJpegThumbnailSizes

Added in API level 8
List<Camera.Size> getSupportedJpegThumbnailSizes ()

Gets the supported jpeg thumbnail sizes.

Returns
List<Camera.Size> 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.

getSupportedPictureFormats

Added in API level 5
List<Integer> getSupportedPictureFormats ()

Gets the supported picture formats.

Returns
List<Integer> supported picture formats. This method will always return a list with at least one element.

See also:

getSupportedPictureSizes

Added in API level 5
List<Camera.Size> getSupportedPictureSizes ()

Gets the supported picture sizes.

Returns
List<Camera.Size> a list of supported picture sizes. This method will always return a list with at least one element.

getSupportedPreviewFormats

Added in API level 5
List<Integer> getSupportedPreviewFormats ()

Gets the supported preview formats. NV21 is always supported. YV12 is always supported since API level 12.

Returns
List<Integer> a list of supported preview formats. This method will always return a list with at least one element.

See also:

getSupportedPreviewFpsRange

Added in API level 9
List<int[]> getSupportedPreviewFpsRange ()

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
List<int[]> 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:

getSupportedPreviewFrameRates

Added in API level 5
List<Integer> getSupportedPreviewFrameRates ()

This method was deprecated in API level 9.
replaced by getSupportedPreviewFpsRange()

Gets the supported preview frame rates.

Returns
List<Integer> a list of supported preview frame rates. null if preview frame rate setting is not supported.

getSupportedPreviewSizes

Added in API level 5
List<Camera.Size> getSupportedPreviewSizes ()

Gets the supported preview sizes.

Returns
List<Camera.Size> a list of Size object. This method will always return a list with at least one element.

getSupportedSceneModes

Added in API level 5
List<String> getSupportedSceneModes ()

Gets the supported scene modes.

Returns
List<String> a list of supported scene modes. null if scene mode setting is not supported.

See also:

getSupportedVideoSizes

Added in API level 11
List<Camera.Size> getSupportedVideoSizes ()

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
List<Camera.Size> a list of Size object if camera has separate preview and video output; otherwise, null is returned.

See also:

getSupportedWhiteBalance

Added in API level 5
List<String> getSupportedWhiteBalance ()

Gets the supported white balance.

Returns
List<String> a list of supported white balance. null if white balance setting is not supported.

See also:

getVerticalViewAngle

Added in API level 8
float getVerticalViewAngle ()

Gets the vertical angle of view in degrees.

Returns
float vertical angle of view. This method will always return a valid value.

getVideoStabilization

Added in API level 15
boolean getVideoStabilization ()

Get the current state of video stabilization. See setVideoStabilization(boolean) for details of video stabilization.

Returns
boolean true if video stabilization is enabled

See also:

getWhiteBalance

Added in API level 5
String getWhiteBalance ()

Gets the current white balance setting.

Returns
String current white balance. null if white balance setting is not supported.

See also:

getZoom

Added in API level 8
int getZoom ()

Gets current zoom value. This also works when smooth zoom is in progress. Applications should check isZoomSupported() before using this method.

Returns
int the current zoom value. The range is 0 to getMaxZoom(). 0 means the camera is not zoomed.

getZoomRatios

Added in API level 8
List<Integer> getZoomRatios ()

Gets the zoom ratios of all zoom values. Applications should check isZoomSupported() before using this method.

Returns
List<Integer> 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.

isAutoExposureLockSupported

Added in API level 14
boolean isAutoExposureLockSupported ()

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
boolean true if auto-exposure lock is supported.

See also:

isAutoWhiteBalanceLockSupported

Added in API level 14
boolean isAutoWhiteBalanceLockSupported ()

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
boolean true if auto-white balance lock is supported.

See also:

isSmoothZoomSupported

Added in API level 8
boolean isSmoothZoomSupported ()

Returns true if smooth zoom is supported. Applications should call this before using other smooth zoom methods.

Returns
boolean true if smooth zoom is supported.

isVideoSnapshotSupported

Added in API level 14
boolean isVideoSnapshotSupported ()

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
boolean true if video snapshot is supported.

isVideoStabilizationSupported

Added in API level 15
boolean isVideoStabilizationSupported ()

Returns true if video stabilization is supported. See setVideoStabilization(boolean) for details of video stabilization.

Returns
boolean true if video stabilization is supported

See also:

isZoomSupported

Added in API level 8
boolean isZoomSupported ()

Returns true if zoom is supported. Applications should call this before using other zoom methods.

Returns
boolean true if zoom is supported.

remove

Added in API level 1
void remove (String key)

Parameters
key String

removeGpsData

Added in API level 5
void removeGpsData ()

Removes GPS latitude, longitude, altitude, and timestamp from the parameters.

set

Added in API level 1
void set (String key, 
                String value)

Sets a String parameter.

Parameters
key String: the key name for the parameter
value String: the String value of the parameter

set

Added in API level 1
void set (String key, 
                int value)

Sets an integer parameter.

Parameters
key String: the key name for the parameter
value int: the int value of the parameter

setAntibanding

Added in API level 5
void setAntibanding (String antibanding)

Sets the antibanding.

Parameters
antibanding String: new antibanding value.

See also:

setAutoExposureLock

Added in API level 14
void setAutoExposureLock (boolean toggle)

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 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 boolean: 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:

setAutoWhiteBalanceLock

Added in API level 14
void setAutoWhiteBalanceLock (boolean toggle)

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 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 boolean: 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:

setColorEffect

Added in API level 5
void setColorEffect (String value)

Sets the current color effect setting.

Parameters
value String: new color effect.

See also:

setExposureCompensation

Added in API level 8
void setExposureCompensation (int value)

Sets the exposure compensation index.

Parameters
value int: 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.

setFlashMode

Added in API level 5
void setFlashMode (String value)

Sets the flash mode.

Parameters
value String: flash mode.

See also:

setFocusAreas

Added in API level 14
void setFocusAreas (List<Camera.Area> focusAreas)

Sets focus areas. See getFocusAreas() for documentation.

Parameters
focusAreas List: the focus areas

See also:

setFocusMode

Added in API level 5
void setFocusMode (String value)

Sets the focus mode.

Parameters
value String: focus mode.

See also:

setGpsAltitude

Added in API level 5
void setGpsAltitude (double altitude)

Sets GPS altitude. This will be stored in JPEG EXIF header.

Parameters
altitude double: GPS altitude in meters.

setGpsLatitude

Added in API level 5
void setGpsLatitude (double latitude)

Sets GPS latitude coordinate. This will be stored in JPEG EXIF header.

Parameters
latitude double: GPS latitude coordinate.

setGpsLongitude

Added in API level 5
void setGpsLongitude (double longitude)

Sets GPS longitude coordinate. This will be stored in JPEG EXIF header.

Parameters
longitude double: GPS longitude coordinate.

setGpsProcessingMethod

Added in API level 8
void setGpsProcessingMethod (String processing_method)

Sets GPS processing method. The method will be stored in a UTF-8 string up to 31 bytes long, in the JPEG EXIF header.

Parameters
processing_method String: The processing method to get this location.

setGpsTimestamp

Added in API level 5
void setGpsTimestamp (long timestamp)

Sets GPS timestamp. This will be stored in JPEG EXIF header.

Parameters
timestamp long: GPS timestamp (UTC in seconds since January 1, 1970).

setJpegQuality

Added in API level 5
void setJpegQuality (int quality)

Sets Jpeg quality of captured picture.

Parameters
quality int: the JPEG quality of captured picture. The range is 1 to 100, with 100 being the best.

setJpegThumbnailQuality

Added in API level 5
void setJpegThumbnailQuality (int quality)

Sets the quality of the EXIF thumbnail in Jpeg picture.

Parameters
quality int: the JPEG quality of the EXIF thumbnail. The range is 1 to 100, with 100 being the best.

setJpegThumbnailSize

Added in API level 5
void setJpegThumbnailSize (int width, 
                int height)

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 int: the width of the thumbnail, in pixels
height int: the height of the thumbnail, in pixels

See also:

setMeteringAreas

Added in API level 14
void setMeteringAreas (List<Camera.Area> meteringAreas)

Sets metering areas. See getMeteringAreas() for documentation.

Parameters
meteringAreas List: the metering areas

See also:

setPictureFormat

Added in API level 1
void setPictureFormat (int pixel_format)

Sets the image format for pictures.

Parameters
pixel_format int: the desired picture format (ImageFormat.NV21, ImageFormat.RGB_565, or ImageFormat.JPEG)

See also:

setPictureSize

Added in API level 1
void setPictureSize (int width, 
                int height)

Sets the dimensions for pictures.

Applications need to consider the display orientation. See setPreviewSize(int, int) for reference.

Parameters
width int: the width for pictures, in pixels
height int: the height for pictures, in pixels

See also:

setPreviewFormat

Added in API level 1
void setPreviewFormat (int pixel_format)

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:

yStride   = (int) ceil(width / 16.0) * 16;
 uvStride  = (int) ceil( (yStride / 2) / 16.0) * 16;
 ySize     = yStride * height;
 uvSize    = uvStride * height / 2;
 yRowIndex = yStride * y;
 uRowIndex = ySize + uvSize + uvStride * c;
 vRowIndex = ySize + uvStride * c;
 size      = ySize + uvSize * 2;
 

Parameters
pixel_format int: the desired preview picture format, defined by one of the ImageFormat constants. (E.g., ImageFormat.NV21 (default), or ImageFormat.YV12)

See also:

setPreviewFpsRange

Added in API level 9
void setPreviewFpsRange (int min, 
                int max)

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 int: the minimum preview fps (scaled by 1000).
max int: the maximum preview fps (scaled by 1000).
Throws
RuntimeException if fps range is invalid.

See also:

setPreviewFrameRate

Added in API level 1
void setPreviewFrameRate (int fps)

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 int: the frame rate (frames per second)

setPreviewSize

Added in API level 1
void setPreviewSize (int width, 
                int height)

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 int: the width of the pictures, in pixels
height int: the height of the pictures, in pixels

See also:

setRecordingHint

Added in API level 14
void setRecordingHint (boolean hint)

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 boolean: true if the apps intend to record videos using MediaRecorder.

setRotation

Added in API level 5
void setRotation (int rotation)

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 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 int: 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:

setSceneMode

Added in API level 5
void setSceneMode (String value)

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 String: scene mode.

See also:

setVideoStabilization

Added in API level 15
void setVideoStabilization (boolean toggle)

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 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 boolean: Set to true to enable video stabilization, and false to disable video stabilization.

See also:

setWhiteBalance

Added in API level 5
void setWhiteBalance (String value)

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 String: new white balance.

See also:

setZoom

Added in API level 8
void setZoom (int value)

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.

Parameters
value int: zoom value. The valid range is 0 to getMaxZoom().

unflatten

Added in API level 1
void unflatten (String flattened)

Takes a flattened string of parameters and adds each one to this Parameters object.

The flatten() method does the reverse.

Parameters
flattened String: a String of parameters (key-value paired) that are semi-colon delimited

Hooray!