OutputConfiguration Klasse
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.
Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface
und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.
[Android.Runtime.Register("android/hardware/camera2/params/OutputConfiguration", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class OutputConfiguration : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/hardware/camera2/params/OutputConfiguration", ApiSince=24, DoNotGenerateAcw=true)>]
type OutputConfiguration = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Vererbung
- Attribute
- Implementiert
Hinweise
Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface
und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.
Es gibt mehrere Möglichkeiten zum Instanziieren, Ändern und Verwenden von OutputConfigurations. Die am häufigsten verwendeten und empfohlenen Verwendungsmuster werden in der folgenden Liste zusammengefasst:
<ul><li>Übergeben sie an Surface
den Konstruktor und verwenden die OutputConfiguration-Instanz als Argument an CameraDevice#createCaptureSessionByOutputConfigurations
. Dies ist die häufigste Verwendung, und Clients sollten sie zuerst vor anderen komplizierteren Alternativen berücksichtigen. </Li>
<li>Übergeben nur einer Oberflächenquellklasse als Argument an den Konstruktor. Dies folgt in der Regel einem Aufruf zum Erstellen einer Aufnahmesitzung (siehe CameraDevice#createCaptureSessionByOutputConfigurations
und einen Surface
Add-Anruf mit einem gültigen Surface
.#addSurface
Die Sequenz wird mit CameraCaptureSession#finalizeOutputConfigurations
. Dies ist der verzögerte Verwendungsfall, der darauf abzielt, die Leistung zu verbessern, indem die ressourcenintensive Erfassungssitzung aufruft, die parallel zu jeder Surface
Initialisierung ausgeführt werden kann, z. B. warten, bis eine android.view.SurfaceView
App als Teil der UI-Initialisierung bereit ist.</Li>
<li>Das dritte und komplexeste Verwendungsmuster umfasst die Oberflächenfreigabe. Nach der Instanziierung kann eine OutputConfiguration für die Surface-Freigabe über #enableSurfaceSharing
aktiviert werden. Dies muss erfolgen, bevor Sie eine neue Aufnahmesitzung erstellen und Anrufe an CameraCaptureSession#updateOutputConfiguration
. Eine OutputConfiguration mit aktivierter Oberflächenfreigabe kann über #addSurface
oder #removeSurface
geändert werden. Die Aktualisierungen dieser OutputConfiguration treten nur nach CameraCaptureSession#updateOutputConfiguration
Rückgaben in Kraft, ohne Ausnahmen auszuwerfen. Solche Updates können erfolgen, solange die Sitzung aktiv ist. Clients sollten immer die zusätzlichen Anforderungen und Einschränkungen berücksichtigen, die auf den Ausgabeoberflächen platziert werden (weitere Details finden Sie unter #enableSurfaceSharing
, , #addSurface
, #removeSurface
). CameraCaptureSession#updateOutputConfiguration
Ein Kompromiss besteht zwischen zusätzlicher Komplexität und Flexibilität. Wenn die ordnungsgemäße Oberflächenfreigabe ausgeführt wurde, kann dies zwischen verschiedenen Ausgabeoberflächen wechseln, ohne laufende wiederholte Aufnahmeanforderungen zu unterbrechen. Dies spart Zeit und kann die Benutzererfahrung erheblich verbessern.</Li>
<li>Surface-Freigabe kann in Kombination mit verzögerten Oberflächen verwendet werden. Die Regeln aus beiden Fällen werden kombiniert, und Clients müssen vor dem Erstellen einer Aufnahmesitzung aufrufen #enableSurfaceSharing
. Anfügen und/oder Entfernen von Ausgabeoberflächen über #addSurface
/#removeSurface
die Konfiguration mithilfe CameraCaptureSession#finalizeOutputConfigurations
und Abschließen der Konfiguration. CameraCaptureSession#updateOutputConfiguration
kann aufgerufen werden, nachdem die Konfiguration abgeschlossene Methode ohne Ausnahmen zurückgegeben wird.</Li>
<li>Wenn das Kameragerät Ausgabedatenströme mit mehreren Auflösungen unterstützt, CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP
werden die Formate und die entsprechenden Datenstrominformationen enthalten. Die Anwendung kann eine OutputConfiguration verwenden, die mit den abgefragten MultiResolutionStreamConfigurationMap#getOutputInfo
Multiauflösungsdatenstrominformationen erstellt wurde, und android.hardware.camera2.MultiResolutionImageReader
um Bilder mit variabler Größe zu erfassen.
</ul>
android.os.Build.VERSION_CODES#P Android P
Ab , alle Formate außer ImageFormat#JPEG
und ImageFormat#RAW_PRIVATE
können für die Freigabe verwendet werden, vorbehaltlich der Geräteunterstützung. Auf vorherigen API-Ebenen kann nur ImageFormat#PRIVATE
das Format verwendet werden.
Java-Dokumentation für android.hardware.camera2.params.OutputConfiguration
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
OutputConfiguration(Int32, Surface) |
Erstellen Sie eine neue |
OutputConfiguration(Size, Class) |
Erstellen Sie eine neue |
OutputConfiguration(Surface) |
Erstellen Sie eine neue |
Felder
MirrorModeAuto |
Veraltet.
Automatische Spiegelung basierend auf kameraseitiger Ausrichtung |
MirrorModeH |
Veraltet.
Kameraausgabe wird horizontal gespiegelt |
MirrorModeNone |
Veraltet.
Es wird keine Spiegeltransformation angewendet. |
MirrorModeV |
Veraltet.
Kameraausgabe wird vertikal gespiegelt |
SurfaceGroupIdNone |
Ungültige Oberflächengruppen-ID. |
TimestampBaseChoreographerSynced |
Veraltet.
Der Zeitstempel wird mit dem Choreographen synchronisiert. |
TimestampBaseDefault |
Veraltet.
Standardzeitstempelbasis. |
TimestampBaseMonotonic |
Veraltet.
Zeitstempelbasis ungefähr identisch mit |
TimestampBaseRealtime |
Veraltet.
Zeitstempelbasis ungefähr identisch mit |
TimestampBaseSensor |
Veraltet.
Zeitstempelbasis von |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses Werts |
Creator |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
DynamicRangeProfile |
Gibt das aktuelle Dynamische Bereichsprofil zurück. - oder - Legen Sie ein bestimmtes Gerät unterstütztes Dynamisches Bereichsprofil fest. |
Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
JniIdentityHashCode |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
JniPeerMembers |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
MaxSharedSurfaceCount |
Rufen Sie die maximal unterstützte Anzahl freigegebener Dienste |
MirrorMode |
Abrufen des aktuellen Spiegelungsmodus – oder Festlegen des Spiegelungsmodus für dieses Ausgabeziel |
PeerReference |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
ReadoutTimestampEnabled |
Gibt an, ob für diese OutputConfiguration Lesezeitstempel verwendet wird. - oder - Verwenden Sie die Lesezeit des Kamerasensors für den Bildzeitstempel. |
StreamUseCase |
Abrufen des aktuellen Datenstromanwendungsfalls – oder Festlegen des Stream-Anwendungsfalls für diese OutputConfiguration |
Surface |
Rufen Sie die |
SurfaceGroupId |
Rufen Sie die surface group ID ab, die diesem |
Surfaces |
Rufen Sie die unveränderliche Liste der Oberflächen ab, die diesem |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Object) |
TimestampBase |
Abrufen der aktuellen Zeitstempelbasis - oder Festlegen der Zeitstempelbasis für dieses Ausgabeziel |
Methoden
AddSensorPixelModeUsed(Int32) |
Fügen Sie einen Sensorpixelmodus hinzu, in dem diese OutputConfiguration verwendet wird. |
AddSurface(Surface) |
Fügen Sie dieser OutputConfiguration eine Oberfläche hinzu. |
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
CreateInstancesForMultiResolutionOutput(MultiResolutionImageReader) |
Erstellen Sie eine Liste von |
DescribeContents() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
Dispose() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
Dispose(Boolean) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
EnableSurfaceSharing() |
Aktivieren mehrerer Oberflächen mit derselben OutputConfiguration |
Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
RemoveSensorPixelModeUsed(Int32) |
Entfernen Sie einen Sensorpixelmodus, der zuvor über addSensorPixelModeUsed hinzugefügt wurde, aus dieser OutputConfiguration. |
RemoveSurface(Surface) |
Entfernen Sie eine Oberfläche aus dieser OutputConfiguration. |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
SetPhysicalCameraId(String) |
Festlegen der ID der physischen Kamera für diese OutputConfiguration |
ToArray<T>() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<>< (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
IJavaPeerable.DisposeUnlessReferenced() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
IJavaPeerable.Finalized() |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
IJavaPeerable.JniManagedPeerState |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |
GetJniTypeName(IJavaPeerable) |
Eine Klasse zur Beschreibung der Kameraausgabe, die eine |