CameraConstrainedHighSpeedCaptureSession 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個受限高速擷取會話 CameraDevice,用於捕捉來自 CameraDevice 高速影像錄製的使用場景。
[Android.Runtime.Register("android/hardware/camera2/CameraConstrainedHighSpeedCaptureSession", ApiSince=23, DoNotGenerateAcw=true)]
public abstract class CameraConstrainedHighSpeedCaptureSession : Android.Hardware.Camera2.CameraCaptureSession
[<Android.Runtime.Register("android/hardware/camera2/CameraConstrainedHighSpeedCaptureSession", ApiSince=23, DoNotGenerateAcw=true)>]
type CameraConstrainedHighSpeedCaptureSession = class
inherit CameraCaptureSession
- 繼承
- 屬性
備註
一個受限高速擷取會話 CameraDevice,用於捕捉來自 CameraDevice 高速影像錄製的使用場景。
CameraConstrainedHighSpeedCaptureSession 是透過提供一個 的 CameraDevice#createCaptureSession(SessionConfiguration)會話配置來android.hardware.camera2.params.SessionConfiguration#SESSION_HIGH_SPEED建立的。 回傳的 CameraCaptureSession.StateCallback CameraCaptureSession 可以投射到 CameraConstrainedHighSpeedCaptureSession。 一旦建立,該會話會處於活躍狀態,直到攝影機裝置建立新的會話,或攝影機裝置關閉為止。
主動高速擷取會話是一種專門的擷取會話,僅針對高速錄影>(=120fps)的使用情境,且相機裝置支援高速影像功能(即 CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES 包含 CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO)。 它只接受透過 #createHighSpeedRequestList建立的請求清單,而請求清單只能透過 CameraCaptureSession#captureBurst captureBurst或 CameraCaptureSession#setRepeatingBurst setRepeatingBurst提交至此會話。 更多限制細節請參見 CameraDevice#createCaptureSession(android.hardware.camera2.params.SessionConfiguration) 。
建立會話是一項昂貴的操作,可能需要數百毫秒,因為這需要配置相機裝置的內部管線,並分配記憶體緩衝區來傳送影像給目標。 因此設定是非同步進行,並 CameraDevice#createConstrainedHighSpeedCaptureSession 會將可用的 CameraCaptureSession 傳送給所提供的監聽者 CameraCaptureSession.StateCallback#onConfigured 回調。 若無法完成設定,則會呼叫該 CameraCaptureSession.StateCallback#onConfigureFailed 會話,該會話將不再啟用。
若攝影機裝置建立新會話,則關閉先前會話,並呼叫其相關的 CameraCaptureSession.StateCallback#onClosed onClosed 回調。 所有 session 方法在關閉 session 後若被呼叫,都會拋出 IllegalStateException。
封閉會話會清除所有重複的請求(就像 #stopRepeating 被呼叫一樣),但仍會正常完成所有進行中的擷取請求,然後新建立的會話接手並重新配置攝影機裝置。
Java 文件 android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| CameraConstrainedHighSpeedCaptureSession() |
一個受限高速擷取會話 |
| CameraConstrainedHighSpeedCaptureSession(IntPtr, JniHandleOwnership) |
一個受限高速擷取會話 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Device |
取得本會話所設計的攝影機裝置。 (繼承來源 CameraCaptureSession) |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| InputSurface |
取得與可再生擷取會話相關的輸入 Surface。 (繼承來源 CameraCaptureSession) |
| IsReprocessable |
如果應用程式能用此相機擷取會話提交重新處理擷取請求,請回傳。 (繼承來源 CameraCaptureSession) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個受限高速擷取會話 |
| JniPeerMembers |
一個受限高速擷取會話 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
一個受限高速擷取會話 |
| ThresholdType |
一個受限高速擷取會話 |
方法
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
一個受限高速擷取會話 |
| IJavaPeerable.Finalized() |
一個受限高速擷取會話 |
| IJavaPeerable.JniObjectReferenceControlBlock |
一個受限高速擷取會話 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一個受限高速擷取會話 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一個受限高速擷取會話 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一個受限高速擷取會話 |
| IJavaPeerable.UnregisterFromRuntime() |
一個受限高速擷取會話 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個受限高速擷取會話 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |