CameraCaptureSession.Close Método

Definição

Feche essa sessão de captura de forma assíncrona.

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

Implementações

Atributos

Comentários

Feche essa sessão de captura de forma assíncrona.

O fechamento de uma sessão libera os Surfaces de saída de destino da sessão para reutilização com uma nova sessão ou para outras APIs que podem ser desenhadas no Surfaces.

Observe que, para cenários comuns de uso, como criar uma nova sessão ou fechar o dispositivo de câmera, é mais rápido chamar as respectivas APIs diretamente (veja abaixo para obter mais detalhes) sem chamar esse método. Essa API só é útil quando o aplicativo deseja desconfigar a câmera, mas manter o dispositivo aberto para uso posterior.

A criação de uma nova sessão de captura com CameraDevice#createCaptureSession a qual fechará automaticamente qualquer sessão de captura existente e chamará o retorno de chamada do ouvinte de StateCallback#onClosed sessão mais antigo. Usar CameraDevice#createCaptureSession diretamente sem fechar é a abordagem recomendada para alternar rapidamente para uma nova sessão, já que as saídas de destino inalteradas podem ser reutilizados com mais eficiência.

Fechar o dispositivo CameraDevice#close diretamente sem chamar essa API também é recomendável para fechar rapidamente a câmera.

Depois que uma sessão for fechada, todos os métodos nela lançarão uma IllegalStateException e quaisquer solicitações ou intermitências recorrentes serão interrompidas (como se fosse #stopRepeating() chamado). No entanto, todas as solicitações de captura em andamento enviadas à sessão serão concluídas normalmente; depois que todas as capturas forem concluídas e a sessão tiver sido interrompida, StateCallback#onClosed serão chamadas.

Fechar uma sessão é idempotente; fechar mais de uma vez não tem efeito.

Java documentação para android.hardware.camera2.CameraCaptureSession.close().

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a