語言

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
[<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#createCaptureSessionByOutputConfigurations 以及一個有效的 Surface加碼呼叫#addSurfaceSurface)。 序列完備為 CameraCaptureSession#finalizeOutputConfigurations。 這是延遲使用情境,旨在透過允許資源密集型的擷取會話創建呼叫與任何 Surface 初始化並行執行,例如等待 a android.view.SurfaceView 準備好作為 UI 初始化的一部分來提升效能。</李>

<li>第三種也是最複雜的使用模式涉及表面共享。 一旦實例化,OutputConfiguration 可以透過 啟用以進行表面共享 #enableSurfaceSharing。 此操作必須在建立新的擷取會話並啟用 之前 CameraCaptureSession#updateOutputConfiguration完成。 啟用表面共享的 OutputConfiguration 可以透過 或 #addSurface進行修改#removeSurface。 此 OutputConfiguration 的更新只會在返回後 CameraCaptureSession#updateOutputConfiguration 生效,且不會拋出例外。 只要會話持續進行,這些更新就可以進行。 客戶應始終考慮輸出表面所施加的額外要求與限制(詳情見 #enableSurfaceSharing、 #addSurface、 #removeSurfaceCameraCaptureSession#updateOutputConfiguration)。 在額外的複雜度與彈性之間存在取捨。 若操作得當,表面共享可在不同輸出表面間切換,且不會中斷持續重複的擷取請求。 這能節省時間,並大幅提升使用者體驗。</李>

<liSurface> 共享可與延遲曲面結合使用。 兩種情況的規則會合併,客戶端必須先通話 #enableSurfaceSharing 才能建立擷取會話。 透過 連接和/或移除輸出表面 #addSurface/#removeSurface ,並用 CameraCaptureSession#finalizeOutputConfigurations完成配置。 CameraCaptureSession#updateOutputConfiguration 可在配置 finalize 方法返回後無例外地呼叫。</李>

<如果>相機裝置支援多解析度輸出串流, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP 將會包含格式及其對應的串流資訊。 應用程式可以使用由多解析度串流資訊MultiResolutionStreamConfigurationMap#getOutputInfoandroid.hardware.camera2.MultiResolutionImageReader建立的 OutputConfiguration 來擷取可變大小的影像。

</ul>

截至 android.os.Build.VERSION_CODES#P Android P,除了 ImageFormat#JPEG 和 ImageFormat#RAW_PRIVATE 外,所有格式皆可用於分享,前提是必須支援裝置。 在先前的 API 層級中,僅 ImageFormat#PRIVATE 允許使用格式。

Java 文件 android.hardware.camera2.params.OutputConfiguration。

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

建構函式

名稱 Description
OutputConfiguration(ImageFormatType, Size, Int64)

為特定格式、大小和使用標誌建立一個新 OutputConfiguration 實例 ImageReader 。

OutputConfiguration(ImageFormatType, Size)

為某個格式和大小建立一個新 OutputConfiguration 實例 ImageReader 。

OutputConfiguration(Int32, ImageFormatType, Size, Int64)

為給定的 surface group ID、格式、大小和使用標誌建立一個新 OutputConfiguration 實例 ImageReader 。

OutputConfiguration(Int32, ImageFormatType, Size)

為 一個OutputConfiguration新的ImageReader實例,針對特定的 surfaceGroupId、格式和大小。

OutputConfiguration(Int32, Surface)

建立OutputConfiguration一個帶有 Surface、surface group ID 的新實例。

OutputConfiguration(Size, Class)

建立一個新的OutputConfiguration實例,使用所需的 Surface 大小和 Surface 來源類別。

OutputConfiguration(Surface)

建立 OutputConfiguration 一個新的實例,包含 Surface。

欄位

名稱 Description
MirrorModeAuto
已淘汰.

基於攝影機面向的自動鏡像

MirrorModeH
已淘汰.

攝影機輸出是水平鏡像的

MirrorModeNone
已淘汰.

不會套用鏡像轉換

MirrorModeV
已淘汰.

攝影機輸出是垂直鏡像的

SurfaceGroupIdNone

無效的地表組識別碼。

TimestampBaseChoreographerSynced
已淘汰.

時間戳記會與編舞家同步。

TimestampBaseDefault
已淘汰.

預設的時間戳記基礎。

TimestampBaseMonotonic
已淘汰.

時間戳記基數大致與 。android.os.SystemClock#uptimeMillis

TimestampBaseRealtime
已淘汰.

時間戳記基數大致與 。android.os.SystemClock#elapsedRealtime

TimestampBaseSensor
已淘汰.

時間戳記 基底為 CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
ConfiguredFormat

取得與此 OutputConfiguration相關格式的設定。

ConfiguredSize

取得與此 OutputConfiguration相關的最新配置尺寸。

Creator

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

DynamicRangeProfile

回傳目前動態範圍設定檔。 -或- 設定特定裝置支援的動態範圍設定檔。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
JniPeerMembers

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

MaxSharedSurfaceCount

取得最大支援共享 Surface 數量。

MirrorMode

取得目前的鏡像模式 -或- 為此輸出目標設定鏡像模式

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
PhysicalCameraId

取得與此 OutputConfiguration相關實體相機的 ID。 -或- 為此 OutputConfiguration 設定實體攝影機的 ID

ReadoutTimestampEnabled

是否使用此 OutputConfiguration 的讀取時間戳。 -或者- 用相機感應器的讀取時間來顯示影像時間戳記。

StreamUseCase

取得目前的串流使用案例 -或- 為此設定串流使用案例 OutputConfiguration

Surface

請與 Surface 此 OutputConfiguration相關。

SurfaceGroupId

取得與此 OutputConfiguration關聯的 Surface Group ID。

Surfaces

取得與此 OutputConfiguration相關曲面的不可變清單。

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
TimestampBase

取得目前的時間戳基底 -或- 為此輸出目標設定時間戳基底

Usage

取得與此 OutputConfiguration相關聯的使用標誌。

方法

名稱 Description
AddSensorPixelModeUsed(Int32)

新增一個感測器像素模式,讓這個 OutputConfiguration 會被使用。

AddSurface(Surface)

在這個 OutputTConfiguration 中加入一個曲面。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
CreateInstancesForMultiResolutionOutput(ICollection<MultiResolutionStreamInfo>, ImageFormatType)

建立一個實例清單OutputConfiguration。MultiResolutionImageReader

CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader)

建立一個輸出OutputConfiguration實例清單android.hardware.camera2.MultiResolutionImageReader。

DescribeContents()

描述此 Parcelable 實例的分組表示中包含的特殊物件種類。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
EnableSurfaceSharing()

啟用多個共享相同 OutputConfiguration 的表面

Equals(Object)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
MakeDeferredAndRemoveSurfaces()

清除所有有效的輸出表面,並將配置標記為延遲。

Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
RemoveSensorPixelModeUsed(Int32)

移除先前透過 addSensorPixelModeUsed 新增的感測器像素模式,從此 OutputConfiguration 中移除。

RemoveSurface(Surface)

從此 OutputTConfiguration 中移除一個曲面。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetMirrorMode(Surface, MirrorMode)

將屬於此 OutputConfiguration 的表面設定鏡像模式

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
SetPhysicalCameraId(String)

為此 OutputConfiguration 設定實體攝影機的 ID

SetSurfacesForMultiResolutionOutput(ICollection<OutputConfiguration>, MultiResolutionImageReader)

將對應於 MultiResolutionImageReader的 OutputConfiguration 曲面設置。

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

將中的這個物件扁平化為 Parcel。

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個描述攝影機輸出的類別,包含 及其 Surface 用於建立擷取會話的特定設定。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於