Langue

CameraCharacteristics.GetRecommendedStreamConfigurationMap Méthode

Définition

Récupérer le mappage RecommendedStreamConfigurationMap de configuration de flux recommandé de l’appareil photo pour un cas d’usage donné.

[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

Paramètres

usecase
UsecaseMode

ID de cas d’utilisation.

Retours

Valide RecommendedStreamConfigurationMap ou null si l’appareil photo n’a aucune recommandation pour ce cas d’usage ou que les configurations recommandées ne sont pas valides.

Attributs

Remarques

Récupérer le mappage RecommendedStreamConfigurationMap de configuration de flux recommandé de l’appareil photo pour un cas d’usage donné.

Les configurations de flux publiées ici sont efficaces en termes de puissance et de performances pour les cas d’utilisation courants tels que la préversion, la vidéo, l’instantané, etc. Les cartes recommandées ne sont généralement que de petits sous-ensembles de la liste exhaustive fournie et #SCALER_STREAM_CONFIGURATION_MAP suggérées pour un cas d’usage particulier par l’implémentation de l’appareil photo. Pour plus d’informations sur les configurations attendues dans différents scénarios, reportez-vous à : ul>li/liRecommendedStreamConfigurationMap#USECASE_PREVIEW><RecommendedStreamConfigurationMap#USECASE_RECORD<>>< li/><<>RecommendedStreamConfigurationMap#USECASE_VIDEO_SNAPSHOTli/>>><<><<RecommendedStreamConfigurationMap#USECASE_SNAPSHOTRecommendedStreamConfigurationMap#USECASE_RAWli li/li/li li/RecommendedStreamConfigurationMap#USECASE_ZSL><<>li/li><>RecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT</li></ul<<>

Par exemple, sur la façon dont cela peut être utilisé par les clients de caméra pour déterminer la résolution maximale recommandée de la préversion et de l’instantané, tenez compte du pseudo-code suivant :

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

Une logique similaire peut également être utilisée pour d’autres cas d’usage.

La prise en charge des configurations de flux recommandées est facultative. Dans le cas où il n’existe aucune configuration suggérée pour le cas d’usage particulier, reportez-vous à #SCALER_STREAM_CONFIGURATION_MAP la liste exhaustive disponible.

Java documentation pour android.hardware.camera2.CameraCharacteristics.getRecommendedStreamConfigurationMap(int).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à