Language

CameraCharacteristics.GetRecommendedStreamConfigurationMap メソッド

定義

特定のユース ケースのカメラ デバイス推奨ストリーム構成マップ RecommendedStreamConfigurationMap を取得します。

[Android.Runtime.Register("getRecommendedStreamConfigurationMap", "(I)Landroid/hardware/camera2/params/RecommendedStreamConfigurationMap;", "", ApiSince=29)]
public Android.Hardware.Camera2.Params.RecommendedStreamConfigurationMap? GetRecommendedStreamConfigurationMap(Android.Hardware.Camera2.Params.UsecaseMode usecase);
[<Android.Runtime.Register("getRecommendedStreamConfigurationMap", "(I)Landroid/hardware/camera2/params/RecommendedStreamConfigurationMap;", "", ApiSince=29)>]
member this.GetRecommendedStreamConfigurationMap : Android.Hardware.Camera2.Params.UsecaseMode -> Android.Hardware.Camera2.Params.RecommendedStreamConfigurationMap

パラメーター

usecase
UsecaseMode

ユース ケース ID。

返品

カメラ デバイスにこのユース ケースの推奨事項がない場合、または推奨される構成が無効な場合は、有効な RecommendedStreamConfigurationMap または null。

属性

注釈

特定のユース ケースのカメラ デバイス推奨ストリーム構成マップ RecommendedStreamConfigurationMap を取得します。

ここでアドバタイズされるストリーム構成は、プレビュー、ビデオ、スナップショットなどの一般的なユース ケースのパワーとパフォーマンスの点で効率的です。推奨されるマップは、通常、 #SCALER_STREAM_CONFIGURATION_MAP で提供される完全なリストのごく一部であり、カメラ デバイスの実装によって特定のユース ケースに推奨されます。 さまざまなシナリオで想定される構成の詳細については、 <ul><li>RecommendedStreamConfigurationMap#USECASE_PREVIEW</li><li>RecommendedStreamConfigurationMap#USECASE_RECORD</li><li>RecommendedStreamConfigurationMap#USECASE_VIDEO_SNAPSHOT</li><li>RecommendedStreamConfigurationMap#USECASE_SNAPSHOT</li><li>RecommendedStreamConfigurationMap#USECASE_RAW</li><li>RecommendedStreamConfigurationMap#USECASE_ZSL</li><li>RecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT</li></ul を参照してください。>

たとえば、カメラ クライアントがこれを使用して、推奨されるプレビューとスナップショットの最大解像度を確認する方法については、次の擬似コードを検討してください。

<code>
            public static Size getMaxSize(Size... sizes) {
                if (sizes == null || sizes.length == 0) {
                    throw new IllegalArgumentException("sizes was empty");
                }

                Size sz = sizes[0];
                for (Size size : sizes) {
                    if (size.getWidth() * size.getHeight() &gt; sz.getWidth() * sz.getHeight()) {
                        sz = size;
                    }
                }

                return sz;
            }

            CameraCharacteristics characteristics =
                    cameraManager.getCameraCharacteristics(cameraId);
            RecommendedStreamConfigurationMap previewConfig =
                    characteristics.getRecommendedStreamConfigurationMap(
                             RecommendedStreamConfigurationMap.USECASE_PREVIEW);
            RecommendedStreamConfigurationMap snapshotConfig =
                    characteristics.getRecommendedStreamConfigurationMap(
                             RecommendedStreamConfigurationMap.USECASE_SNAPSHOT);

            if ((previewConfig != null) &amp;&amp; (snapshotConfig != null)) {

                 Set<Size> snapshotSizeSet = snapshotConfig.getOutputSizes(
                         ImageFormat.JPEG);
                 Size[] snapshotSizes = new Size[snapshotSizeSet.size()];
                 snapshotSizes = snapshotSizeSet.toArray(snapshotSizes);
                 Size suggestedMaxJpegSize = getMaxSize(snapshotSizes);

                 Set<Size> previewSizeSet = snapshotConfig.getOutputSizes(
                         ImageFormat.PRIVATE);
                 Size[] previewSizes = new Size[previewSizeSet.size()];
                 previewSizes = previewSizeSet.toArray(previewSizes);
                 Size suggestedMaxPreviewSize = getMaxSize(previewSizes);
            }

</code>

同様のロジックは、他のユース ケースにも使用できます。

推奨されるストリーム構成のサポートは省略可能です。 特定のユース ケースに対して推奨される構成がない場合は、使用可能な完全な一覧については、 #SCALER_STREAM_CONFIGURATION_MAP を参照してください。

Javaドキュメント。

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

適用対象