OutputConfiguration クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
キャプチャ セッションを作成するための 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
- 継承
- 属性
- 実装
注釈
キャプチャ セッションを作成するための Surface とその特定の構成を含むカメラ出力を記述するためのクラス。
OutputConfigurations をインスタンス化、変更、および使用するには、いくつかの方法があります。 最も一般的で推奨される使用パターンを次の一覧にまとめます。
<ul><li>コンストラクターに Surface を渡し、 CameraDevice#createCaptureSessionByOutputConfigurationsの引数として OutputConfiguration インスタンスを使用します。 これは最も頻繁な使用であり、クライアントは他のより複雑な代替手段の前に最初にそれを考慮する必要があります。
</li>
<li>コンストラクターの引数としてサーフェス ソース クラスのみを渡します。 通常、この後にキャプチャ セッションを作成する呼び出しが続きます (有効なSurfaceを持つ呼び出し#addSurfaceCameraDevice#createCaptureSessionByOutputConfigurationsとSurface追加を参照してください)。 シーケンスは CameraCaptureSession#finalizeOutputConfigurationsで完了します。 これは、UI 初期化の一部としてandroid.view.SurfaceViewの準備が整うのを待つなど、リソースを集中的に使用するキャプチャ セッションの作成呼び出しをSurface初期化と並行して実行できるようにすることで、パフォーマンスを向上することを目的とした遅延使用ケースです</li>
<li>3 番目の最も複雑な使用パターンには、サーフェス共有が含まれます。 インスタンス化されると、OutputConfiguration を有効にして、 #enableSurfaceSharingを介してサーフェス共有を行うことができます。 これは、新しいキャプチャ セッションを作成する前に行い、 CameraCaptureSession#updateOutputConfiguration呼び出しを有効にする必要があります。 サーフェス共有が有効な OutputConfiguration は、 #addSurface または #removeSurfaceを使用して変更できます。 この OutputConfiguration の更新は、例外をスローせずに CameraCaptureSession#updateOutputConfiguration が返された後にのみ有効になります。 このような更新は、セッションがアクティブである限り実行できます。 クライアントは常に、出力サーフェイスに配置される追加の要件と制限事項を考慮する必要があります (詳細については、 #enableSurfaceSharing、 #addSurface、 #removeSurface、 CameraCaptureSession#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#JPEGとImageFormat#RAW_PRIVATEを除くすべての形式をデバイスのサポートに従って共有に使用できます。 以前の API レベルでは、 ImageFormat#PRIVATE 形式のみを使用できます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| OutputConfiguration(ImageFormatType, Size, Int64) |
特定の形式、サイズ、および使用フラグの |
| OutputConfiguration(ImageFormatType, Size) |
指定した形式とサイズの |
| OutputConfiguration(Int32, ImageFormatType, Size, Int64) |
特定のサーフェス グループ ID、形式、サイズ、および使用フラグの |
| OutputConfiguration(Int32, ImageFormatType, Size) |
特定の surfaceGroupId、形式、およびサイズの |
| OutputConfiguration(Int32, Surface) |
surface グループ ID を持つ |
| OutputConfiguration(Size, Class) |
必要なSurface サイズとソース クラスを使用して、新しい |
| OutputConfiguration(Surface) |
|
フィールド
| 名前 | 説明 |
|---|---|
| MirrorModeAuto |
古い.
カメラ向きに基づく自動ミラーリング |
| MirrorModeH |
古い.
カメラの出力が水平方向にミラーリングされる |
| MirrorModeNone |
古い.
ミラー変換が適用されない |
| MirrorModeV |
古い.
カメラ出力が垂直方向にミラー化される |
| SurfaceGroupIdNone |
無効なサーフェス グループ ID。 |
| TimestampBaseChoreographerSynced |
古い.
タイムスタンプは振付家に同期されます。 |
| TimestampBaseDefault |
古い.
既定のタイムスタンプ ベース。 |
| TimestampBaseMonotonic |
古い.
タイムスタンプベースは、 |
| TimestampBaseRealtime |
古い.
タイムスタンプベースは、 |
| TimestampBaseSensor |
古い.
|
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Creator |
キャプチャ セッションを作成するための |
| DynamicRangeProfile |
現在のダイナミック レンジ プロファイルを返します。 または、サポートされている特定のデバイスのダイナミック レンジ プロファイルを設定します。 |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
キャプチャ セッションを作成するための |
| JniPeerMembers |
キャプチャ セッションを作成するための |
| MaxSharedSurfaceCount |
サポートされている共有 |
| MirrorMode |
現在のミラーリング モードを取得します。または、この出力ターゲットのミラーリング モードを設定します |
| PeerReference |
キャプチャ セッションを作成するための |
| ReadoutTimestampEnabled |
この OutputConfiguration に読み取り出力タイムスタンプが使用されるかどうか。 または、カメラ センサーの読み取り時間を画像のタイムスタンプに使用します。 |
| StreamUseCase |
現在のストリームのユース ケースを取得します。または、この OutputConfiguration のストリームユース ケースを設定します |
| Surface |
この |
| SurfaceGroupId |
この |
| Surfaces |
この |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Object) |
| TimestampBase |
現在のタイムスタンプベースを取得するか、この出力ターゲットのタイムスタンプベースを設定します |
メソッド
| 名前 | 説明 |
|---|---|
| AddSensorPixelModeUsed(Int32) |
この OutputConfiguration が使用されるセンサー ピクセル モードを追加します。 |
| AddSurface(Surface) |
この OutputConfiguration にサーフェスを追加します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| CreateInstancesForMultiResolutionOutput(ICollection<MultiResolutionStreamInfo>, ImageFormatType) |
|
| CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader) |
|
| DescribeContents() |
キャプチャ セッションを作成するための |
| Dispose() |
キャプチャ セッションを作成するための |
| Dispose(Boolean) |
キャプチャ セッションを作成するための |
| 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) |
|
| ToArray<T>() |
キャプチャ セッションを作成するための |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
キャプチャ セッションを作成するための |
| 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) |
キャプチャ セッションを作成するための |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
キャプチャ セッションを作成するための |
| IJavaPeerable.DisposeUnlessReferenced() |
キャプチャ セッションを作成するための |
| IJavaPeerable.Finalized() |
キャプチャ セッションを作成するための |
| IJavaPeerable.JniManagedPeerState |
キャプチャ セッションを作成するための |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
キャプチャ セッションを作成するための |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
キャプチャ セッションを作成するための |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
キャプチャ セッションを作成するための |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
キャプチャ セッションを作成するための |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|