共用方式為


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 將 傳遞至建Surface構函式,並使用 OutputConfiguration 實例作為 自變數至 CameraDevice#createCaptureSessionByOutputConfigurations。>< 這是最常見的使用方式,客戶端應該先考慮它之前,其他更複雜的替代方案。 </李>

<li>僅傳遞介面來源類別做為建構函式的自變數。 這通常接著呼叫來建立擷取會話(請參閱 CameraDevice#createCaptureSessionByOutputConfigurations 和具有有效Surface的新增呼叫#addSurfaceSurface。 序列會以 CameraCaptureSession#finalizeOutputConfigurations完成。 這是延後使用案例,其旨在藉由允許大量資源擷取會話建立呼叫,以與任何 Surface 初始化平行執行,例如等候 android.view.SurfaceView 在UI初始化期間準備好。</李>

<li>第三個和最複雜的使用模式涉及表面共用。 具現化 OutputConfiguration 後,即可透過 #enableSurfaceSharing啟用介面共用。 這必須先完成,才能建立新的擷取會話,並啟用對 CameraCaptureSession#updateOutputConfiguration的呼叫。 具有已啟用表面共用的 OutputConfiguration 可以透過 #addSurface#removeSurface來修改。 此 OutputConfiguration 的更新只會在傳回之後 CameraCaptureSession#updateOutputConfiguration 生效,而不會擲回例外狀況。 只要會話為使用中,就可以進行這類更新。 客戶端應該一律考慮輸出介面上放置的其他需求和限制(如需詳細資訊,請參閱 #enableSurfaceSharing、 、 。 #removeSurface#addSurfaceCameraCaptureSession#updateOutputConfiguration 額外的複雜度和彈性之間存在著取捨。 如果已正確練習表面共用,可以在不同的輸出介面之間切換,而不會中斷任何進行中的重複擷取要求。 這可節省時間,並可大幅改善用戶體驗。</李>

<li>Surface 共用可以與延遲表面搭配使用。 這兩種案例的規則都會合併,而且客戶端必須在建立擷取會話之前呼叫 #enableSurfaceSharing 。 透過附加和/或移除輸出介面#addSurface/#removeSurface,並使用 完成組態。CameraCaptureSession#finalizeOutputConfigurations CameraCaptureSession#updateOutputConfiguration 可以在組態完成方法傳回後呼叫,而不會發生例外狀況。</李>

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

</ul>

從 開始android.os.Build.VERSION_CODES#P Android P,除了 和 ImageFormat#RAW_PRIVATE 以外的ImageFormat#JPEG所有格式都可用於共用,受限於裝置支援。 在先前的 API 層級上,只能 ImageFormat#PRIVATE 使用格式。

android.hardware.camera2.params.OutputConfigurationJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

OutputConfiguration(Int32, Surface)

使用,建立具有 Surface介面群組標識碼的新OutputConfiguration實例。

OutputConfiguration(Size, Class)

建立具有所需 Surface 大小和 Surface 來源類別的新 OutputConfiguration 實例。

OutputConfiguration(Surface)

使用 Surface建立新的OutputConfiguration實例。

欄位

MirrorModeAuto
已淘汰.

根據面向相機的自動鏡像

MirrorModeH
已淘汰.

相機輸出會水平鏡像

MirrorModeNone
已淘汰.

未套用鏡像轉換

MirrorModeV
已淘汰.

相機輸出會垂直鏡像

SurfaceGroupIdNone

介面群組標識碼無效。

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相關聯的介面群組標識符。

Surfaces

取得與此 OutputConfiguration相關聯之介面的不可變清單。

ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

(繼承來源 Object)
ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

(繼承來源 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 之實體相機的標識碼

ToArray<T>()

描述相機輸出的類別,其中包含 Surface 建立擷取會話的 及其特定組態。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

描述相機輸出的類別,其中包含 Surface 建立擷取會話的 及其特定組態。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

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

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</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 建立擷取會話的 及其特定組態。

適用於