Condividi tramite


CameraCaptureSession.Close Metodo

Definizione

Chiudere questa sessione di acquisizione in modo asincrono.

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

Implementazioni

Attributi

Commenti

Chiudere questa sessione di acquisizione in modo asincrono.

La chiusura di una sessione libera le superfici di output di destinazione della sessione per il riutilizzo con una nuova sessione o per altre API che possono disegnare su Superfici.

Si noti che per scenari di utilizzo comuni come la creazione di una nuova sessione o la chiusura del dispositivo fotocamera, è più veloce chiamare direttamente le rispettive API (vedere di seguito per altri dettagli) senza chiamare questo metodo. Questa API è utile solo quando l'applicazione vuole annullare la configurazione della fotocamera, ma mantenere il dispositivo aperto per un uso successivo.

La creazione di una nuova sessione di acquisizione con CameraDevice#createCaptureSession chiuderà automaticamente qualsiasi sessione di acquisizione esistente e chiamerà il callback del listener di StateCallback#onClosed sessione precedente. L'uso CameraDevice#createCaptureSession diretto senza chiusura è l'approccio consigliato per passare rapidamente a una nuova sessione, poiché gli output di destinazione non modificati possono essere riutilizzati in modo più efficiente.

La chiusura diretta del dispositivo con CameraDevice#close senza chiamare questa API è consigliata anche per chiudere rapidamente la fotocamera.

Una volta chiusa una sessione, tutti i metodi su di esso genereranno un'eccezione IllegalStateException e tutte le richieste o i burst ripetuti vengono arrestati (come se #stopRepeating() fosse stato chiamato). Tuttavia, tutte le richieste di acquisizione in corso inviate alla sessione verranno completate come di consueto; una volta completate tutte le acquisizioni e la sessione è stata eliminata, StateCallback#onClosed verrà chiamato .

La chiusura di una sessione è idempotente; chiusura più di una volta non ha alcun effetto.

Documentazione java per android.hardware.camera2.CameraCaptureSession.close().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a