CameraCaptureSession 类

定义

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

[Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)]
public abstract class CameraCaptureSession : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)>]
type CameraCaptureSession = class
    inherit Object
    interface IAutoCloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
CameraCaptureSession
派生
属性
实现

注解

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

CameraCaptureSession 是通过向一组目标输出图面 CameraDevice#createCaptureSession createCaptureSession提供或提供 android.hardware.camera2.params.InputConfiguration 一组目标输出图面来创建的,用于 CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession 可重新处理的捕获会话。 创建后,会话将处于活动状态,直到相机设备创建新会话,或关闭相机设备。

所有捕获会话都可用于从相机捕获图像,但只有可重新处理的捕获会话才能重新处理以前在同一会话中从相机捕获的图像。

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

<!--

在会话准备就绪之前提交的任何捕获请求(重复或非重复)都将排队,并在会话准备就绪后开始捕获。 如果无法配置并 StateCallback#onConfigureFailed onConfigureFailed 调用会话,则会丢弃所有排队的捕获请求。

-->

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

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

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

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

构造函数

CameraCaptureSession()
CameraCaptureSession(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Device

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

Handle

基础 Android 实例的句柄。

(继承自 Object)
InputSurface

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

IsReprocessable

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

JniIdentityHashCode

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
JniPeerMembers

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

PeerReference

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

AbortCaptures()

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

Capture(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler)

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

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

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

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

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

CaptureSingleRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback)

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

Clone()

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

(继承自 Object)
Close()

异步关闭此捕获会话。

Dispose()

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
Dispose(Boolean)

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
Equals(Object)

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

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

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

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

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

(继承自 Object)
Notify()

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

(继承自 Object)
NotifyAll()

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

(继承自 Object)
Prepare(Surface)

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

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

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

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

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

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

SetRepeatingRequest(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler)

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

SetSingleRepeatingRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback)

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

StopRepeating()

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

SupportsOfflineProcessing(Surface)

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

SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback)

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

ToArray<T>()

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
ToString()

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

(继承自 Object)
UnregisterFromRuntime()

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
UpdateOutputConfiguration(OutputConfiguration)

配置最终化后更新 OutputConfiguration#finalizeOutputConfigurations

Wait()

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

(继承自 Object)
Wait(Int64)

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

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

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

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
IJavaPeerable.Finalized()

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

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

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

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

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

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

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

GetJniTypeName(IJavaPeerable)

配置的 CameraDevice捕获会话,用于从相机捕获图像,或重新处理以前在同一会话中从相机捕获的图像。

适用于