CameraCharacteristics.GetRecommendedStreamConfigurationMap Metodo

Definizione

Recuperare la mappa RecommendedStreamConfigurationMap di configurazione del flusso consigliata del dispositivo fotocamera per un determinato caso d'uso.

[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

Parametri

usecase
UsecaseMode

ID caso d'uso.

Valori restituiti

Valido RecommendedStreamConfigurationMap o null nel caso in cui il dispositivo fotocamera non abbia alcuna raccomandazione per questo caso d'uso o le configurazioni consigliate non siano valide.

Attributi

Commenti

Recuperare la mappa RecommendedStreamConfigurationMap di configurazione del flusso consigliata del dispositivo fotocamera per un determinato caso d'uso.

Le configurazioni di flusso annunciate qui sono efficienti in termini di potenza e prestazioni per casi d'uso comuni, ad esempio anteprima, video, snapshot e così via. Le mappe consigliate sono in genere solo piccoli subset dell'elenco completo fornito in #SCALER_STREAM_CONFIGURATION_MAP e suggeriti per un caso d'uso specifico dall'implementazione del dispositivo fotocamera. Per altre informazioni sulle configurazioni previste in vari scenari, vedere: <ul><li><RecommendedStreamConfigurationMap#USECASE_PREVIEW/li><<>RecommendedStreamConfigurationMap#USECASE_RECORD/li/<RecommendedStreamConfigurationMap#USECASE_VIDEO_SNAPSHOT>><li/li li>RecommendedStreamConfigurationMap#USECASE_SNAPSHOT</<>li/li><<>RecommendedStreamConfigurationMap#USECASE_RAW li/li/li/li<>RecommendedStreamConfigurationMap#USECASE_ZSL<>/><<RecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT>li/ul><>

Ad esempio, su come questo può essere usato dai client della fotocamera per individuare la risoluzione massima consigliata di anteprima e snapshot, considerare lo pseudo-codice seguente:

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

Una logica simile può essere usata anche per altri casi d'uso.

Il supporto per le configurazioni di flusso consigliate è facoltativo. Nel caso in cui non siano presenti configurazioni suggerite per il caso d'uso specifico, vedere per #SCALER_STREAM_CONFIGURATION_MAP l'elenco completo disponibile.

per android.hardware.camera2.CameraCharacteristics.getRecommendedStreamConfigurationMap(int).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a