CameraConstrainedHighSpeedCaptureSession 类

定义

用于 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
继承
CameraConstrainedHighSpeedCaptureSession
属性

注解

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

CameraConstrainedHighSpeedCaptureSession 是通过向类型android.hardware.camera2.params.SessionConfiguration#SESSION_HIGH_SPEED提供会话配置CameraDevice#createCaptureSession(SessionConfiguration)来创建的。 然后,返回的 CameraCaptureSession.StateCallback CameraCaptureSession 可以转换为 CameraConstrainedHighSpeedCaptureSession。 创建后,会话将处于活动状态,直到相机设备创建新会话,或关闭相机设备。

活动高速捕获会话是一个专用捕获会话,仅针对高速视频录制(>=120fps)用例(即相机设备支持高速视频功能(即CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES包含)。CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO 它仅接受通过创建 #createHighSpeedRequestList的请求列表,并且请求列表只能通过 CameraCaptureSession#captureBurst captureBurstCameraCaptureSession#setRepeatingBurst setRepeatingBurst提交到此会话。 有关限制的更多详细信息,请参阅 CameraDevice#createCaptureSession(android.hardware.camera2.params.SessionConfiguration)

创建会话是一项昂贵的操作,可能需要几百毫秒,因为它需要配置相机设备的内部管道,并分配内存缓冲区,以便将图像发送到所需的目标。 因此,安装程序以异步方式完成,并将 CameraDevice#createConstrainedHighSpeedCaptureSession 随时可用的 CameraCaptureSession 发送到提供的侦听器回调 CameraCaptureSession.StateCallback#onConfigured 。 如果配置无法完成,则调用该 CameraCaptureSession.StateCallback#onConfigureFailed 配置,并且会话将不会处于活动状态。

如果相机设备创建了新会话,则会关闭上一个会话,并调用其关联的 CameraCaptureSession.StateCallback#onClosed onClosed 回调。 如果会话关闭后调用,所有会话方法都将引发 IllegalStateException。

关闭的会话会清除任何重复的请求(就像 #stopRepeating 已调用一样),但在新创建的会话接管并重新配置相机设备之前,仍会像正常一样完成其所有正在进行的捕获请求。

适用于 . 的 android.hardware.camera2.CameraConstrainedHighSpeedCaptureSessionJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

CameraConstrainedHighSpeedCaptureSession()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

CameraConstrainedHighSpeedCaptureSession(IntPtr, JniHandleOwnership)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Device

获取为此会话创建的相机设备。

(继承自 CameraCaptureSession)
Handle

基础 Android 实例的句柄。

(继承自 Object)
InputSurface

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 CameraCaptureSession)
IsReprocessable

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 CameraCaptureSession)
JniIdentityHashCode

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
JniPeerMembers

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

PeerReference

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
ThresholdClass

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

ThresholdType

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

方法

AbortCaptures()

放弃当前挂起和正在进行的所有捕获,并尽可能快地进行。

(继承自 CameraCaptureSession)
Capture(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler)

提交要由相机设备捕获的图像的请求。

(继承自 CameraCaptureSession)
CaptureBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler)

以突发的形式提交要按顺序捕获的请求列表。

(继承自 CameraCaptureSession)
CaptureBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback)

以突发的形式提交要按顺序捕获的请求列表。

(继承自 CameraCaptureSession)
CaptureSingleRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback)

提交要由相机设备捕获的图像的请求。

(继承自 CameraCaptureSession)
Clone()

创建并返回此对象的副本。

(继承自 Object)
Close()

异步关闭此捕获会话。

(继承自 CameraCaptureSession)
CreateHighSpeedRequestList(CaptureRequest)

创建适用于受限高速捕获会话流式处理的请求的不可修改列表。

Dispose()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
Dispose(Boolean)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
FinalizeOutputConfigurations(IList<OutputConfiguration>)

完成现在包含其延迟和/或额外 Surface 的输出配置。

(继承自 CameraCaptureSession)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Prepare(Surface)

为输出 Surface 预分配所有缓冲区。

(继承自 CameraCaptureSession)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetRepeatingBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler)

请求此捕获会话无休止地重复捕获一系列图像。

(继承自 CameraCaptureSession)
SetRepeatingBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback)

请求此捕获会话无休止地重复捕获一系列图像。

(继承自 CameraCaptureSession)
SetRepeatingRequest(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler)

请求此捕获会话无休止地重复捕获图像。

(继承自 CameraCaptureSession)
SetSingleRepeatingRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback)

请求此捕获会话无休止地重复捕获图像。

(继承自 CameraCaptureSession)
StopRepeating()

取消任何正在进行的重复捕获集, #setRepeatingRequest setRepeatingRequest#setRepeatingBurst

(继承自 CameraCaptureSession)
SupportsOfflineProcessing(Surface)

查询给定 Surface 是否能够支持脱机模式。

(继承自 CameraCaptureSession)
SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback)

将当前捕获会话和给定的一组已注册相机表面切换到脱机处理模式。

(继承自 CameraCaptureSession)
ToArray<T>()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
UpdateOutputConfiguration(OutputConfiguration)

配置最终化后更新 OutputConfiguration#finalizeOutputConfigurations

(继承自 CameraCaptureSession)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
IJavaPeerable.Finalized()

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

GetJniTypeName(IJavaPeerable)

用于 CameraDevice从高速视频录制用例中捕获高速图像 CameraDevice 的受限高速捕获会话。

适用于