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 を渡し、 CameraDevice#createCaptureSessionByOutputConfigurationsの引数として OutputConfiguration インスタンスを使用します。 これは最も頻繁な使用であり、クライアントは他のより複雑な代替手段の前に最初にそれを考慮する必要があります。 </li>

<li>コンストラクターの引数としてサーフェス ソース クラスのみを渡します。 通常、この後にキャプチャ セッションを作成する呼び出しが続きます (有効なSurfaceを持つ呼び出し#addSurfaceCameraDevice#createCaptureSessionByOutputConfigurationsSurface追加を参照してください)。 シーケンスは CameraCaptureSession#finalizeOutputConfigurationsで完了します。 これは、UI 初期化の一部としてandroid.view.SurfaceViewの準備が整うのを待つなど、リソースを集中的に使用するキャプチャ セッションの作成呼び出しをSurface初期化と並行して実行できるようにすることで、パフォーマンスを向上することを目的とした遅延使用ケースです</li>

<li>3 番目の最も複雑な使用パターンには、サーフェス共有が含まれます。 インスタンス化されると、OutputConfiguration を有効にして、 #enableSurfaceSharingを介してサーフェス共有を行うことができます。 これは、新しいキャプチャ セッションを作成する前に行い、 CameraCaptureSession#updateOutputConfiguration呼び出しを有効にする必要があります。 サーフェス共有が有効な OutputConfiguration は、 #addSurface または #removeSurfaceを使用して変更できます。 この OutputConfiguration の更新は、例外をスローせずに CameraCaptureSession#updateOutputConfiguration が返された後にのみ有効になります。 このような更新は、セッションがアクティブである限り実行できます。 クライアントは常に、出力サーフェイスに配置される追加の要件と制限事項を考慮する必要があります (詳細については、 #enableSurfaceSharing#addSurface#removeSurfaceCameraCaptureSession#updateOutputConfigurationを参照してください)。 追加の複雑さと柔軟性の間にはトレードオフがあります。 正しくサーフェス共有を実行すると、継続的な繰り返しキャプチャ要求を中断することなく、異なる出力サーフェスを切り替えることができます。 これにより、時間が節約され、ユーザー エクスペリエンスが大幅に向上します。</li>

<li>Surface共有は、遅延サーフェスと組み合わせて使用できます。 どちらの場合もルールが結合され、クライアントはキャプチャ セッションを作成する前に #enableSurfaceSharing を呼び出す必要があります。 #addSurface / #removeSurfaceを使用して出力サーフェスをアタッチまたは削除し、CameraCaptureSession#finalizeOutputConfigurationsを使用して構成を完了します。 CameraCaptureSession#updateOutputConfiguration は、構成ファイナライズ メソッドが例外なしで戻った後に呼び出すことができます。</li>

<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 形式のみを使用できます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
OutputConfiguration(ImageFormatType, Size, Int64)

特定の形式、サイズ、および使用フラグのImageReaderに新しいOutputConfiguration インスタンスを作成します。

OutputConfiguration(ImageFormatType, Size)

指定した形式とサイズのImageReader用に新しいOutputConfiguration インスタンスを作成します。

OutputConfiguration(Int32, ImageFormatType, Size, Int64)

特定のサーフェス グループ ID、形式、サイズ、および使用フラグのImageReaderの新しいOutputConfiguration インスタンスを作成します。

OutputConfiguration(Int32, ImageFormatType, Size)

特定の surfaceGroupId、形式、およびサイズのImageReaderの新しいOutputConfiguration インスタンスを作成します。

OutputConfiguration(Int32, Surface)

surface グループ ID を持つSurfaceを持つ新しいOutputConfiguration インスタンスを作成します。

OutputConfiguration(Size, Class)

必要なSurface サイズとソース クラスを使用して、新しいOutputConfiguration インスタンスSurface作成します。

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

このOutputConfigurationに関連付けられているSurfaceを取得します。

SurfaceGroupId

この OutputConfigurationに関連付けられているサーフェス グループ ID を取得します。

Surfaces

この OutputConfigurationに関連付けられているサーフェスの不変リストを取得します。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
TimestampBase

現在のタイムスタンプベースを取得するか、この出力ターゲットのタイムスタンプベースを設定します

メソッド

名前 説明
AddSensorPixelModeUsed(Int32)

この OutputConfiguration が使用されるセンサー ピクセル モードを追加します。

AddSurface(Surface)

この OutputConfiguration にサーフェスを追加します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
CreateInstancesForMultiResolutionOutput(ICollection<MultiResolutionStreamInfo>, ImageFormatType)

MultiResolutionImageReaderOutputConfiguration インスタンスの一覧を作成します。

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()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
RemoveSensorPixelModeUsed(Int32)

この OutputConfiguration から、addSensorPixelModeUsed によって以前に追加されたセンサー ピクセル モードを削除します。

RemoveSurface(Surface)

この OutputConfiguration からサーフェスを削除します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetMirrorMode(Surface, MirrorMode)

この OutputConfiguration に属するサーフェスのミラーリング モードを設定する

SetPhysicalCameraId(String)

この OutputConfiguration の物理カメラの ID を設定する

SetSurfacesForMultiResolutionOutput(ICollection<OutputConfiguration>, MultiResolutionImageReader)

MultiResolutionImageReaderに対応する 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)

拡張メソッド

名前 説明
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側で有効であることを確認します。

適用対象