CameraCharacteristics.GetRecommendedStreamConfigurationMap Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Abrufen der empfohlenen Datenstromkonfigurationszuordnung RecommendedStreamConfigurationMap für ein bestimmtes Anwendungsfall.
[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
Parameter
- usecase
- UsecaseMode
Anwendungsfall-ID.
Gibt zurück
Gültig RecommendedStreamConfigurationMap oder NULL für den Fall, dass das Kameragerät keine Empfehlung für diesen Anwendungsfall hat oder die empfohlenen Konfigurationen ungültig sind.
- Attribute
Hinweise
Abrufen der empfohlenen Datenstromkonfigurationszuordnung RecommendedStreamConfigurationMap für ein bestimmtes Anwendungsfall.
Die hier angekündigten Streamkonfigurationen sind in Bezug auf Leistung und Leistung für häufige Anwendungsfälle wie Vorschau, Video, Momentaufnahme usw. effizient. Die empfohlenen Karten sind in der Regel nur kleine Teilmengen der vollständigen Liste, die von #SCALER_STREAM_CONFIGURATION_MAP der Implementierung des Kamerageräts für einen bestimmten Anwendungsfall vorgeschlagen wird. Weitere Informationen zu den erwarteten Konfigurationen in verschiedenen Szenarien finden Sie unter: <ul><li>RecommendedStreamConfigurationMap#USECASE_PREVIEW</li><<RecommendedStreamConfigurationMap#USECASE_RECORD>/liRecommendedStreamConfigurationMap#USECASE_VIDEO_SNAPSHOT><></li/li/li><RecommendedStreamConfigurationMap#USECASE_SNAPSHOT></>RecommendedStreamConfigurationMap#USECASE_RAW<<>li/><<RecommendedStreamConfigurationMap#USECASE_ZSL>li/li/ul><><>RecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT<>
Beispiel: Wie dies von Kameraclients verwendet werden kann, um die maximal empfohlene Vorschau- und Momentaufnahmeauflösung zu ermitteln, sollten Sie den folgenden Pseudocode berücksichtigen:
<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>
Ähnliche Logik kann auch für andere Anwendungsfälle verwendet werden.
Die Unterstützung für empfohlene Streamkonfigurationen ist optional. Falls für den jeweiligen Anwendungsfall keine vorgeschlagenen Konfigurationen vorhanden sind, lesen #SCALER_STREAM_CONFIGURATION_MAP Sie bitte die vollständige verfügbare Liste.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.