Skip to content

Most visited

Recently visited

navigation

CaptureRequest.Builder

public static final class CaptureRequest.Builder
extends Object

java.lang.Object
   ↳ android.hardware.camera2.CaptureRequest.Builder


A builder for capture requests.

To obtain a builder instance, use the createCaptureRequest(int) method, which initializes the request fields to one of the templates defined in CameraDevice.

See also:

Summary

Public methods

void addTarget(Surface outputTarget)

Add a surface to the list of targets for this request

The Surface added must be one of the surfaces included in the most recent call to createCaptureSession(List, CameraCaptureSession.StateCallback, Handler), when the request is given to the camera device.

CaptureRequest build()

Build a request using the current target Surfaces and settings.

<T> T get(Key<T> key)

Get a capture request field value.

void removeTarget(Surface outputTarget)

Remove a surface from the list of targets for this request.

<T> void set(Key<T> key, T value)

Set a capture request field to a value.

void setTag(Object tag)

Set a tag for this request.

Inherited methods

From class java.lang.Object

Public methods

addTarget

added in API level 21
void addTarget (Surface outputTarget)

Add a surface to the list of targets for this request

The Surface added must be one of the surfaces included in the most recent call to createCaptureSession(List, CameraCaptureSession.StateCallback, Handler), when the request is given to the camera device.

Adding a target more than once has no effect.

Parameters
outputTarget Surface: Surface to use as an output target for this request

build

added in API level 21
CaptureRequest build ()

Build a request using the current target Surfaces and settings.

Note that, although it is possible to create a CaptureRequest with no target Surfaces, passing such a request into capture(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler), captureBurst(List, CameraCaptureSession.CaptureCallback, Handler), setRepeatingBurst(List, CameraCaptureSession.CaptureCallback, Handler), or setRepeatingRequest(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler) will cause that method to throw an IllegalArgumentException.

Returns
CaptureRequest A new capture request instance, ready for submission to the camera device.

get

added in API level 21
T get (Key<T> key)

Get a capture request field value. The field definitions can be found in CaptureRequest.

Parameters
key Key: The metadata field to read.
Returns
T The value of that key, or null if the field is not set.
Throws
IllegalArgumentException if the key was not valid

removeTarget

added in API level 21
void removeTarget (Surface outputTarget)

Remove a surface from the list of targets for this request.

Removing a target that is not currently added has no effect.

Parameters
outputTarget Surface: Surface to use as an output target for this request

set

added in API level 21
void set (Key<T> key, 
                T value)

Set a capture request field to a value. The field definitions can be found in CaptureRequest.

Setting a field to null will remove that field from the capture request. Unless the field is optional, removing it will likely produce an error from the camera device when the request is submitted.

Parameters
key Key: The metadata field to write.
value T: The value to set the field to, which must be of a matching type to the key.

setTag

added in API level 21
void setTag (Object tag)

Set a tag for this request.

This tag is not used for anything by the camera device, but can be used by an application to easily identify a CaptureRequest when it is returned by CaptureCallback.onCaptureCompleted

Parameters
tag Object: an arbitrary Object to store with this request

See also:

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.