Android APIs
public static final class

CaptureRequest.Builder

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

Class Overview

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.

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.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public void addTarget (Surface outputTarget)

Added in API level 21

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 to use as an output target for this request

public CaptureRequest build ()

Added in API level 21

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
  • A new capture request instance, ready for submission to the camera device.

public T get (Key<T> key)

Added in API level 21

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

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

public void removeTarget (Surface outputTarget)

Added in API level 21

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 to use as an output target for this request

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

Added in API level 21

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

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

public void setTag (Object tag)

Added in API level 21

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 an arbitrary Object to store with this request
See Also