Compartilhar via


CameraCaptureSession.Close Método

Definição

Feche esta 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 esta sessão de captura de forma assíncrona.

O fechamento de uma sessão libera as Superfícies de saída de destino da sessão para reutilização com uma nova sessão ou para outras APIs que podem atrair para o Surfaces.

Observe que, para cenários de uso comuns, como criar uma nova sessão ou fechar o dispositivo da 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 desconfigurar a câmera, mas manter o dispositivo aberto para uso posterior.

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

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

Depois que uma sessão é fechada, todos os métodos nela lançarão um IllegalStateException, e quaisquer solicitações ou intermitências repetidas serão interrompidas (como se #stopRepeating() fosse chamada). No entanto, quaisquer solicitações de captura em andamento enviadas para a sessão serão concluídas normalmente; Assim que todas as capturas tiverem sido concluídas e a sessão tiver sido derrubada, StateCallback#onClosed será chamada.

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

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

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

Aplica-se a