Idioma

CameraCharacteristics.GetRecommendedStreamConfigurationMap Método

Definição

Recupere o mapa RecommendedStreamConfigurationMap de configuração de fluxo recomendado do dispositivo de câmera para um determinado caso de 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

Parâmetros

usecase
UsecaseMode

Use a ID do caso.

Retornos

Válido RecommendedStreamConfigurationMap ou nulo caso o dispositivo de câmera não tenha nenhuma recomendação para esse caso de uso ou as configurações recomendadas sejam inválidas.

Atributos

Comentários

Recupere o mapa RecommendedStreamConfigurationMap de configuração de fluxo recomendado do dispositivo de câmera para um determinado caso de uso.

As configurações de fluxo anunciadas aqui são eficientes em termos de potência e desempenho para casos de uso comuns, como visualização, vídeo, instantâneo etc. Os mapas recomendados geralmente são apenas pequenos subconjuntos da lista exaustiva fornecida #SCALER_STREAM_CONFIGURATION_MAP e sugeridos para um caso de uso específico pela implementação do dispositivo de câmera. Para obter mais informações sobre as configurações esperadas em vários cenários, consulte: <ul><li>RecommendedStreamConfigurationMap#USECASE_PREVIEW</li><>RecommendedStreamConfigurationMap#USECASE_RECORD</li><li>RecommendedStreamConfigurationMap#USECASE_VIDEO_SNAPSHOT</li><RecommendedStreamConfigurationMap#USECASE_SNAPSHOT<>/li<>li<RecommendedStreamConfigurationMap#USECASE_RAW>/li><li><RecommendedStreamConfigurationMap#USECASE_ZSL/li li/li><liRecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT<>/li/li></ul>

Por exemplo, sobre como isso pode ser usado pelos clientes de câmera para descobrir o máximo recomendado de visualização e resolução de instantâneo, considere o seguinte 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>

Lógica semelhante também pode ser usada para outros casos de uso.

O suporte para configurações de fluxo recomendadas é opcional. Caso não haja nenhuma configuração sugerida para o caso de uso específico, consulte #SCALER_STREAM_CONFIGURATION_MAP a lista completa disponível.

Java documentação para android.hardware.camera2.CameraCharacteristics.getRecommendedStreamConfigurationMap(int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a