CameraCharacteristics.GetRecommendedStreamConfigurationMap Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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() > 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) && (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.
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.