語言

CameraCaptureSession.Capture 方法

定義

請提交由相機裝置拍攝影像的請求。

[Android.Runtime.Register("capture", "(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I", "GetCapture_Landroid_hardware_camera2_CaptureRequest_Landroid_hardware_camera2_CameraCaptureSession_CaptureCallback_Landroid_os_Handler_Handler")]
public abstract int Capture(Android.Hardware.Camera2.CaptureRequest request, Android.Hardware.Camera2.CameraCaptureSession.CaptureCallback? listener, Android.OS.Handler? handler);
[<Android.Runtime.Register("capture", "(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I", "GetCapture_Landroid_hardware_camera2_CaptureRequest_Landroid_hardware_camera2_CameraCaptureSession_CaptureCallback_Landroid_os_Handler_Handler")>]
abstract member Capture : Android.Hardware.Camera2.CaptureRequest * Android.Hardware.Camera2.CameraCaptureSession.CaptureCallback * Android.OS.Handler -> int

參數

request
CaptureRequest

這次擷取的設定

listener
CameraCaptureSession.CaptureCallback

回調物件在請求處理完成後通知。 若為空,則不會產生此擷取的中繼資料,但影像資料仍會產生。

handler
Handler

應呼叫監聽者的處理程序,或 null 使用目前執行緒的 android.os.Looper looper。

傳回

int 一個由 CaptureCallback#onCaptureSequenceCompleted使用 的唯一擷取序列 ID。

屬性

例外狀況

如果相機裝置已斷線或遇到致命錯誤

如果該會話不再活躍,無論是因為會話被明確關閉、新會話已建立,或是攝影機裝置已被關閉。

如果請求未針對任何 Surface,或未設定為本次會話輸出的 Surface;或請求針對一組無法同時提交於可重處理擷取會話中的 Surface;或在不可重處理的捕獲會話中提交重處理擷取請求;或是重處理擷取請求是用來自不同會話的 a TotalCaptureResult 建立的;或擷取目標是處於 Surface 狀態Prepare(Surface)的 Surface;或者處理器是空,監聽者不是空,呼叫執行緒也沒有迴圈器。

備註

Java 文件 android.hardware.camera2.CameraCaptureSession.capture(android.hardware.camera2.CaptureRequest, android.hardware.camera2.CaptureCallback, android.os.Handler)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

另請參閱

  • <xref:Android.Hardware.Camera2.CameraCaptureSession.SetRepeatingRequest(Android.Hardware.Camera2.CaptureRequest%2c+.CaptureCallback%2c+.CaptureCallback)>
  • AbortCaptures()