CameraCharacteristics.GetRecommendedStreamConfigurationMap Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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() > 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>
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.
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.