Freigeben über


CameraCaptureSession.Close Methode

Definition

Schließen Sie diese Aufnahmesitzung asynchron.

[Android.Runtime.Register("close", "()V", "GetCloseHandler")]
public abstract void Close ();
[<Android.Runtime.Register("close", "()V", "GetCloseHandler")>]
abstract member Close : unit -> unit

Implementiert

Attribute

Hinweise

Schließen Sie diese Aufnahmesitzung asynchron.

Durch das Schließen einer Sitzung wird die Zielausgabe der Sitzung für die Wiederverwendung mit einer neuen Sitzung oder mit anderen APIs freigegeben, die auf Surfaces zeichnen können.

Beachten Sie, dass es bei gängigen Verwendungsszenarien wie dem Erstellen einer neuen Sitzung oder dem Schließen des Kamerageräts schneller ist, die entsprechenden APIs direkt aufzurufen (weitere Details finden Sie unten), ohne diese Methode aufrufen zu müssen. Diese API ist nur nützlich, wenn die Anwendung die Kamera nicht konfigurieren möchte, das Gerät jedoch zur späteren Verwendung geöffnet bleibt.

Durch das Erstellen einer neuen Aufnahmesitzung werden CameraDevice#createCaptureSession alle vorhandenen Aufnahmesitzungen automatisch geschlossen und der Rückruf des älteren Sitzungslisteners StateCallback#onClosed aufgerufen. Die direkte Verwendung CameraDevice#createCaptureSession ohne Schließen ist der empfohlene Ansatz, um schnell zu einer neuen Sitzung zu wechseln, da unveränderte Zielausgaben effizienter wiederverwendet werden können.

Das Schließen des Geräts mit CameraDevice#close direkt ohne Aufrufen dieser API wird auch empfohlen, um die Kamera schnell zu schließen.

Sobald eine Sitzung geschlossen ist, werden alle Methoden darauf eine IllegalStateException ausgelöst, und alle wiederholten Anforderungen oder Brüche werden beendet (wie wenn #stopRepeating() sie aufgerufen wurde). Alle in Bearbeitung ausgeführten Erfassungsanforderungen, die an die Sitzung übermittelt werden, werden jedoch normal abgeschlossen; sobald alle Aufzeichnungen abgeschlossen sind und die Sitzung heruntergerissen wurde, StateCallback#onClosed wird aufgerufen.

Das Schließen einer Sitzung ist idempotent; Das Schließen von mehr als einmal hat keine Auswirkung.

Java-Dokumentation für android.hardware.camera2.CameraCaptureSession.close().

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.

Gilt für: