CameraCaptureSession Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma sessão de captura configurada para um CameraDevice
, usada para capturar imagens da câmera ou reprocessar imagens capturadas da câmera na mesma sessão anterior.
[Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)]
public abstract class CameraCaptureSession : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/hardware/camera2/CameraCaptureSession", DoNotGenerateAcw=true)>]
type CameraCaptureSession = class
inherit Object
interface IAutoCloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Herança
- Derivado
- Atributos
- Implementações
Comentários
Uma sessão de captura configurada para um CameraDevice
, usada para capturar imagens da câmera ou reprocessar imagens capturadas da câmera na mesma sessão anterior.
Um CameraCaptureSession é criado fornecendo um conjunto de superfícies de saída de destino para CameraDevice#createCaptureSession createCaptureSession
o , ou fornecendo um android.hardware.camera2.params.InputConfiguration
e um conjunto de superfícies de saída de destino para CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession
uma sessão de captura reprocessável. Depois de criada, a sessão fica ativa até que uma nova sessão seja criada pelo dispositivo da câmera ou o dispositivo da câmera seja fechado.
Todas as sessões de captura podem ser usadas para capturar imagens da câmera, mas apenas sessões de captura reprocessáveis podem reprocessar imagens capturadas da câmera na mesma sessão anterior.
Criar uma sessão é uma operação cara e pode levar várias centenas de milissegundos, pois requer a configuração dos pipelines internos do dispositivo da câmera e a alocação de buffers de memória para enviar imagens para os alvos desejados. Portanto, a configuração é feita de forma assíncrona e CameraDevice#createCaptureSession createCaptureSession
CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession
enviará o CameraCaptureSession pronto para uso para o retorno de chamada do CameraCaptureSession.StateCallback#onConfigured onConfigured
ouvinte fornecido. Se a configuração não puder ser concluída, o CameraCaptureSession.StateCallback#onConfigureFailed onConfigureFailed
será chamado e a sessão não ficará ativa.
<!--
Quaisquer solicitações de captura (repetidas ou não repetitivas) enviadas antes que a sessão esteja pronta serão enfileiradas e começarão a ser capturadas assim que a sessão ficar pronta. Caso a sessão não possa ser configurada e StateCallback#onConfigureFailed onConfigureFailed
seja chamada, todas as solicitações de captura enfileiradas serão descartadas.
-->
Se uma nova sessão for criada pelo dispositivo da câmera, a sessão anterior será fechada e seu retorno de chamada associado StateCallback#onClosed onClosed
será chamado. Todos os métodos de sessão lançarão um IllegalStateException se chamado assim que a sessão for fechada.
Uma sessão fechada limpa todas as solicitações repetidas (como se #stopRepeating
tivesse sido chamada), mas ainda concluirá todas as solicitações de captura em andamento normalmente, antes que uma sessão recém-criada assuma o controle e reconfigure o dispositivo da câmera.
Documentação Java para android.hardware.camera2.CameraCaptureSession
.
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.
Construtores
CameraCaptureSession() | |
CameraCaptureSession(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução. |
Propriedades
Class |
Retorna a classe de tempo de execução deste |
Device |
Obtenha o dispositivo de câmera para o qual esta sessão foi criada. |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
InputSurface |
Uma sessão de captura configurada para um |
IsReprocessable |
Uma sessão de captura configurada para um |
JniIdentityHashCode |
Uma sessão de captura configurada para um |
JniPeerMembers |
Uma sessão de captura configurada para um |
PeerReference |
Uma sessão de captura configurada para um |
ThresholdClass |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
ThresholdType |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
AbortCaptures() |
Descarte todas as capturas atualmente pendentes e em andamento o mais rápido possível. |
Capture(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler) |
Envie uma solicitação para que uma imagem seja capturada pelo dispositivo da câmera. |
CaptureBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler) |
Envie uma lista de solicitações a serem capturadas em sequência como um burst. |
CaptureBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback) |
Envie uma lista de solicitações a serem capturadas em sequência como um burst. |
CaptureSingleRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback) |
Envie uma solicitação para que uma imagem seja capturada pelo dispositivo da câmera. |
Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
Close() |
Feche esta sessão de captura de forma assíncrona. |
Dispose() |
Uma sessão de captura configurada para um |
Dispose(Boolean) |
Uma sessão de captura configurada para um |
Equals(Object) |
Indica se algum outro objeto é "igual" a este. (Herdado de Object) |
FinalizeOutputConfigurations(IList<OutputConfiguration>) |
Finalize as configurações de saída que agora têm suas Superfícies adiadas e/ou extras incluídas. |
GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
Prepare(Surface) |
Pré-aloque todos os buffers para um Surface de saída. |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
SetRepeatingBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler) |
Solicite a captura repetida infinitamente de uma sequência de imagens por esta sessão de captura. |
SetRepeatingBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback) |
Solicite a captura repetida infinitamente de uma sequência de imagens por esta sessão de captura. |
SetRepeatingRequest(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler) |
Solicite a repetição infinita da captura de imagens por esta sessão de captura. |
SetSingleRepeatingRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback) |
Solicite a repetição infinita da captura de imagens por esta sessão de captura. |
StopRepeating() |
Cancele qualquer captura de repetição contínua definida por um |
SupportsOfflineProcessing(Surface) |
Consultar se um determinado Surface é capaz de suportar o modo offline. |
SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback) |
Alterne a sessão de captura atual e um determinado conjunto de superfícies de câmera registradas para o modo de processamento off-line. |
ToArray<T>() |
Uma sessão de captura configurada para um |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
Uma sessão de captura configurada para um |
UpdateOutputConfiguration(OutputConfiguration) |
Atualização |
Wait() |
Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>. (Herdado de Object) |
Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
Uma sessão de captura configurada para um |
IJavaPeerable.DisposeUnlessReferenced() |
Uma sessão de captura configurada para um |
IJavaPeerable.Finalized() |
Uma sessão de captura configurada para um |
IJavaPeerable.JniManagedPeerState |
Uma sessão de captura configurada para um |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Uma sessão de captura configurada para um |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Uma sessão de captura configurada para um |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Uma sessão de captura configurada para um |
Métodos de Extensão
JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada em tempo de execução do Android. |
JavaCast<TResult>(IJavaObject) |
Uma sessão de captura configurada para um |
GetJniTypeName(IJavaPeerable) |
Uma sessão de captura configurada para um |