CameraCharacteristics.GetRecommendedStreamConfigurationMap Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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() > 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>
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.
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.