OutputConfiguration 类

定义

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

[Android.Runtime.Register("android/hardware/camera2/params/OutputConfiguration", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class OutputConfiguration : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/hardware/camera2/params/OutputConfiguration", ApiSince=24, DoNotGenerateAcw=true)>]
type OutputConfiguration = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
OutputConfiguration
属性
实现

注解

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

有多种方法可以实例化、修改和使用 OutputConfigurations。 以下列表中汇总了最常见的推荐使用模式:

<ul><li>将 a Surface 传递给构造函数并使用 OutputConfiguration 实例作为参数传递给 CameraDevice#createCaptureSessionByOutputConfigurations。 这是最常用的用法,客户端应该先考虑它,然后再考虑其他更复杂的替代方法。 </李>

<li>仅将图面源类作为参数传递给构造函数。 这通常后跟一个调用来创建捕获会话(请参阅CameraDevice#createCaptureSessionByOutputConfigurationsSurface添加具有有效Surface调用#addSurface。 序列使用 CameraCaptureSession#finalizeOutputConfigurations. 这是延迟的用例,旨在通过允许资源密集型捕获会话创建与任何 Surface 初始化并行执行的调用来提高性能,例如等待 android.view.SurfaceView 在 UI 初始化过程中准备好。</李>

<li>第三个和最复杂的使用模式涉及图面共享。 实例化 OutputConfiguration 后,可以通过 .#enableSurfaceSharing 必须在创建新的捕获会话并启用调用 CameraCaptureSession#updateOutputConfiguration之前执行此操作。 可以通过 #addSurface#removeSurface. 此 OutputConfiguration 的更新只有在返回后 CameraCaptureSession#updateOutputConfiguration 才会生效,而不会引发异常。 只要会话处于活动状态,就可以执行此类更新。 客户端应始终考虑输出图面上施加的其他要求和限制(有关详细信息,请参阅#enableSurfaceSharingCameraCaptureSession#updateOutputConfiguration#addSurface#removeSurface)。 额外的复杂性和灵活性之间存在权衡。 如果正确行使图面共享可以在不同的输出图面之间切换,而不会中断任何正在进行的重复捕获请求。 这样可以节省时间并显著改善用户体验。</李>

<li>Surface 共享可与延迟图面结合使用。 这两种情况中的规则组合在一起,客户端必须在创建捕获会话之前调用 #enableSurfaceSharing 。 通过附加和/或删除输出图面#addSurface/#removeSurface,并使用 .CameraCaptureSession#finalizeOutputConfigurations CameraCaptureSession#updateOutputConfiguration 可以在配置终结方法返回后调用,而不会发生异常。</李>

<li>如果相机设备支持多分辨率输出流, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP 将包含格式及其相应的流信息。 应用程序可以使用通过查询 MultiResolutionStreamConfigurationMap#getOutputInfo 的多分辨率流信息创建的 OutputConfiguration 来 android.hardware.camera2.MultiResolutionImageReader 捕获可变大小图像。

</ul>

从此 android.os.Build.VERSION_CODES#P Android P,除所有格式外 ImageFormat#JPEGImageFormat#RAW_PRIVATE 还可以用于共享,但受设备支持的约束。 在以前的 API 级别上,只能 ImageFormat#PRIVATE 使用格式。

适用于 . 的 android.hardware.camera2.params.OutputConfigurationJava 文档

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

构造函数

OutputConfiguration(Int32, Surface)

使用Surface图面组 ID 创建新OutputConfiguration实例。

OutputConfiguration(Size, Class)

创建具有所需 Surface 大小和 Surface 源类的新 OutputConfiguration 实例。

OutputConfiguration(Surface)

使用 Surface. 创建一个新OutputConfiguration实例。

字段

MirrorModeAuto
已过时.

基于面向相机的自动镜像

MirrorModeH
已过时.

相机输出水平镜像

MirrorModeNone
已过时.

未应用镜像转换

MirrorModeV
已过时.

相机输出垂直镜像

SurfaceGroupIdNone

图面组 ID 无效。

TimestampBaseChoreographerSynced
已过时.

时间戳将同步到编舞器。

TimestampBaseDefault
已过时.

默认时间戳基。

TimestampBaseMonotonic
已过时.

时间戳基数大致与 android.os.SystemClock#uptimeMillis.

TimestampBaseRealtime
已过时.

时间戳基数大致与 android.os.SystemClock#elapsedRealtime.

TimestampBaseSensor
已过时.

时间戳的基数 CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Creator

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

DynamicRangeProfile

返回当前动态范围配置文件。 - 或 - 设置支持的特定设备动态范围配置文件。

Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
JniPeerMembers

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

MaxSharedSurfaceCount

获取支持的最大共享 Surface 计数。

MirrorMode

获取当前镜像模式 - 或 - 为此输出目标设置镜像模式

PeerReference

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
ReadoutTimestampEnabled

是否使用此 OutputConfiguration 的读取时间戳。 - 或 - 对图像时间戳使用相机传感器的读出时间。

StreamUseCase

获取当前流用例 - 或 - 为此 OutputConfiguration 设置流用例

Surface

Surface获取与此OutputConfiguration关联的值。

SurfaceGroupId

获取与此 OutputConfiguration关联的图面组 ID。

Surfaces

获取与此 OutputConfiguration关联的图面的不可变列表。

ThresholdClass

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

(继承自 Object)
ThresholdType

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

(继承自 Object)
TimestampBase

获取当前时间戳基准 - 或 - 为此输出目标设置时间戳基

方法

AddSensorPixelModeUsed(Int32)

添加此 OutputConfiguration 将用于的传感器像素模式。

AddSurface(Surface)

向此 OutputConfiguration 添加图面。

Clone()

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

(继承自 Object)
CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader)

为输出android.hardware.camera2.MultiResolutionImageReader创建实例列表OutputConfiguration

DescribeContents()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

Dispose()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
Dispose(Boolean)

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
EnableSurfaceSharing()

启用共享同一 OutputConfiguration 的多个图面

Equals(Object)

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

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

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

(继承自 Object)
Notify()

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

(继承自 Object)
NotifyAll()

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

(继承自 Object)
RemoveSensorPixelModeUsed(Int32)

从此 OutputConfiguration 中删除以前通过 addSensorPixelModeUsed 添加的传感器像素模式。

RemoveSurface(Surface)

从此 OutputConfiguration 中删除图面。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetPhysicalCameraId(String)

为此 OutputConfiguration 设置物理相机的 ID

ToArray<T>()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
ToString()

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

(继承自 Object)
UnregisterFromRuntime()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
Wait()

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

(继承自 Object)
Wait(Int64)

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

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

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

(继承自 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

显式接口实现

IJavaPeerable.Disposed()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
IJavaPeerable.Finalized()

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

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

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

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

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

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

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

GetJniTypeName(IJavaPeerable)

用于描述相机输出的类,其中包含用于创建捕获会话的一个 Surface 及其特定配置。

适用于