Freigeben über


OutputConfiguration Klasse

Definition

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
OutputConfiguration
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 #enableSurfaceSharingaktiviert 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 #removeSurfacegeä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#finalizeOutputConfigurationsund 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 PAb , 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 Instanz mit einer SurfaceOberflächengruppen-ID.

OutputConfiguration(Size, Class)

Erstellen Sie eine neue OutputConfiguration Instanz mit der gewünschten Surface-Größe und der Surface-Quellklasse.

OutputConfiguration(Surface)

Erstellen Sie eine neue OutputConfiguration Instanz mit einer Surface.

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 android.os.SystemClock#uptimeMillis.

TimestampBaseRealtime
Veraltet.

Zeitstempelbasis ungefähr identisch mit android.os.SystemClock#elapsedRealtime.

TimestampBaseSensor
Veraltet.

Zeitstempelbasis von CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Creator

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

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 Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
JniPeerMembers

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

MaxSharedSurfaceCount

Rufen Sie die maximal unterstützte Anzahl freigegebener Dienste Surface ab.

MirrorMode

Abrufen des aktuellen Spiegelungsmodus – oder Festlegen des Spiegelungsmodus für dieses Ausgabeziel

PeerReference

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
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 Surface zugeordnete Dieser OutputConfigurationAb.

SurfaceGroupId

Rufen Sie die surface group ID ab, die diesem OutputConfigurationzugeordnet ist.

Surfaces

Rufen Sie die unveränderliche Liste der Oberflächen ab, die diesem OutputConfigurationZugeordnet sind.

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 OutputConfiguration Instanzen für die von einer .android.hardware.camera2.MultiResolutionImageReader

DescribeContents()

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

Dispose()

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
Dispose(Boolean)

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
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 Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
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 Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
IJavaPeerable.Finalized()

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

GetJniTypeName(IJavaPeerable)

Eine Klasse zur Beschreibung der Kameraausgabe, die eine Surface und ihre spezifische Konfiguration zum Erstellen einer Aufnahmesitzung enthält.

Gilt für: