Lenguaje

CameraCharacteristics.GetRecommendedStreamConfigurationMap Método

Definición

Recupere el mapa RecommendedStreamConfigurationMap de configuración de secuencia recomendado del dispositivo de cámara para un caso de uso determinado.

[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

Parámetros

usecase
UsecaseMode

Identificador de caso de uso.

Devoluciones

Válido RecommendedStreamConfigurationMap o null en caso de que el dispositivo de cámara no tenga ninguna recomendación para este caso de uso o las configuraciones recomendadas no sean válidas.

Atributos

Comentarios

Recupere el mapa RecommendedStreamConfigurationMap de configuración de secuencia recomendado del dispositivo de cámara para un caso de uso determinado.

Las configuraciones de transmisión anunciadas aquí son eficaces en términos de potencia y rendimiento para casos de uso comunes, como la versión preliminar, el vídeo, la instantánea, etc. Los mapas recomendados suelen ser solo pequeños subconjuntos de la lista exhaustiva proporcionada en #SCALER_STREAM_CONFIGURATION_MAP y sugeridas para un caso de uso determinado por la implementación del dispositivo de cámara. Para obtener más información sobre las configuraciones esperadas en varios escenarios, consulte: <ul><li>RecommendedStreamConfigurationMap#USECASE_PREVIEW</li>RecommendedStreamConfigurationMap#USECASE_RECORD><</li/><><RecommendedStreamConfigurationMap#USECASE_VIDEO_SNAPSHOTli/li><><RecommendedStreamConfigurationMap#USECASE_SNAPSHOT/><>RecommendedStreamConfigurationMap#USECASE_ZSL><RecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT><>>><<RecommendedStreamConfigurationMap#USECASE_RAW<<li/ul>

Por ejemplo, sobre cómo los clientes de cámara pueden usar esto para averiguar la resolución máxima recomendada de vista previa e instantánea, tenga en cuenta el siguiente pseudocódigo:

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

También se puede usar una lógica similar para otros casos de uso.

La compatibilidad con configuraciones de flujo recomendadas es opcional. En caso de que no haya ninguna configuración sugerida para el caso de uso concreto, consulte #SCALER_STREAM_CONFIGURATION_MAP la lista exhaustiva disponible.

Java documentación para android.hardware.camera2.CameraCharacteristics.getRecommendedStreamConfigurationMap(int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a