Android.Hardware.Camera2.CameraCaptureSession.SetRepeatingRequest Method
Request endlessly repeating capture of images by this capture session.

Syntax

[Android.Runtime.Register("setRepeatingRequest", "(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I", "GetSetRepeatingRequest_Landroid_hardware_camera2_CaptureRequest_Landroid_hardware_camera2_CameraCaptureSession_CaptureCallback_Landroid_os_Handler_Handler")]
public abstract int SetRepeatingRequest (CaptureRequest request, CameraCaptureSession.CaptureCallback listener, Android.OS.Handler handler)

See Also

CameraCaptureSession.Capture(CaptureRequest, .CaptureCallback, .CaptureCallback)
CameraCaptureSession.StopRepeating
CameraCaptureSession.AbortCaptures

Parameters

request
the request to repeat indefinitely
listener
The callback object to notify every time the request finishes processing. If null, no metadata will be produced for this stream of requests, although image data will still be produced.
handler
the handler on which the listener should be invoked, or null to use the current thread's Android.OS.Looper.

Returns

Documentation for this section has not yet been entered.

Exceptions

TypeReason
Android.Hardware.Camera2.CameraAccessExceptionif the camera device is no longer connected or has encountered a fatal error
Java.Lang.IllegalStateExceptionif this session is no longer active, either because the session was explicitly closed, a new session has been created or the camera device has been closed.
Java.Lang.IllegalArgumentExceptionIf the requests reference no Surfaces or Surfaces that are not currently configured as outputs. Or if the handler is null, the listener is not null, and the calling thread has no looper. Or if no requests were passed in.

Remarks

Request endlessly repeating capture of images by this capture session.

With this method, the camera device will continually capture images using the settings in the provided Android.Hardware.Camera2.CaptureRequest, at the maximum rate possible.

Repeating requests are a simple way for an application to maintain a preview or other continuous stream of frames, without having to continually submit identical requests through CameraCaptureSession.Capture(CaptureRequest, .CaptureCallback, .CaptureCallback).

Repeat requests have lower priority than those submitted through CameraCaptureSession.Capture(CaptureRequest, .CaptureCallback, .CaptureCallback) or CameraCaptureSession.captureBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.CameraCaptureSession.CaptureCallback, android.os.Handler), so if CameraCaptureSession.Capture(CaptureRequest, .CaptureCallback, .CaptureCallback) is called when a repeating request is active, the capture request will be processed before any further repeating requests are processed.

To stop the repeating capture, call CameraCaptureSession.StopRepeating. Calling CameraCaptureSession.AbortCaptures will also clear the request.

Calling this method will replace any earlier repeating request or burst set up by this method or CameraCaptureSession.setRepeatingBurst(java.util.List<android.hardware.camera2.CaptureRequest>, android.hardware.camera2.CameraCaptureSession.CaptureCallback, android.os.Handler), although any in-progress burst will be completed before the new repeat request will be used.

[Android Documentation]

Requirements

Namespace: Android.Hardware.Camera2
Assembly: Mono.Android (in Mono.Android.dll)
Assembly Versions: 0.0.0.0