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

This value must never be null.

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.

This value will never be null.

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

This value must never be null.

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.

This value must never be null.

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

This value may be null.

See also:

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

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

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 short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)