CameraCaptureSession Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Una sesión de captura configurada para , CameraDevice
que se usa para capturar imágenes de la cámara o volver a procesar imágenes capturadas desde la cámara en la misma sesión anteriormente.
[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
- Herencia
- Derivado
- Atributos
- Implementaciones
Comentarios
Una sesión de captura configurada para , CameraDevice
que se usa para capturar imágenes de la cámara o volver a procesar imágenes capturadas desde la cámara en la misma sesión anteriormente.
CameraCaptureSession se crea proporcionando un conjunto de superficies de salida de destino a CameraDevice#createCaptureSession createCaptureSession
, o proporcionando un android.hardware.camera2.params.InputConfiguration
conjunto de superficies de salida de destino a CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession
para una sesión de captura reprocesable. Una vez creada, la sesión está activa hasta que el dispositivo de cámara crea una nueva sesión o se cierra el dispositivo de cámara.
Todas las sesiones de captura se pueden usar para capturar imágenes de la cámara, pero solo las sesiones de captura reprocesable pueden volver a procesar imágenes capturadas desde la cámara en la misma sesión anteriormente.
La creación de una sesión es una operación costosa y puede tardar varios cientos de milisegundos, ya que requiere configurar las canalizaciones internas del dispositivo de cámara y asignar búferes de memoria para enviar imágenes a los destinos deseados. Por lo tanto, la configuración se realiza de forma asincrónica y CameraDevice#createCaptureSession createCaptureSession
CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession
enviará la cameraCaptureSession lista para usar a la devolución de llamada del agente de CameraCaptureSession.StateCallback#onConfigured onConfigured
escucha proporcionado. Si no se puede completar la CameraCaptureSession.StateCallback#onConfigureFailed onConfigureFailed
configuración, se llama a y la sesión no estará activa.
<!--
Las solicitudes de captura (repetición o no repetición) enviadas antes de que la sesión esté lista se ponerán en cola y comenzarán a capturarse una vez que la sesión esté lista. En caso de que no se pueda configurar la sesión y StateCallback#onConfigureFailed onConfigureFailed
se llame a , se descartan todas las solicitudes de captura en cola.
-->
Si el dispositivo de cámara crea una nueva sesión, se cierra la sesión anterior y se invocará su devolución de llamada asociada StateCallback#onClosed onClosed
. Todos los métodos de sesión producirán una excepción IllegalStateException si se llama una vez cerrada la sesión.
Una sesión cerrada borra las solicitudes de repetición (como si #stopRepeating
se hubieran llamado), pero seguirá completando todas sus solicitudes de captura en curso como normales, antes de que una sesión recién creada tome el control y vuelva a configurar el dispositivo de cámara.
Documentación de Java para android.hardware.camera2.CameraCaptureSession
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
CameraCaptureSession() | |
CameraCaptureSession(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
Class |
Devuelve la clase en tiempo de ejecución de este |
Device |
Obtenga el dispositivo de cámara para el que se crea esta sesión. |
Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
InputSurface |
Una sesión de captura configurada para , |
IsReprocessable |
Una sesión de captura configurada para , |
JniIdentityHashCode |
Una sesión de captura configurada para , |
JniPeerMembers |
Una sesión de captura configurada para , |
PeerReference |
Una sesión de captura configurada para , |
ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
AbortCaptures() |
Descarte todas las capturas actualmente pendientes y en curso lo más rápido posible. |
Capture(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler) |
Envíe una solicitud para que el dispositivo de cámara capture una imagen. |
CaptureBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler) |
Envíe una lista de solicitudes que se capturarán en secuencia como una ráfaga. |
CaptureBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback) |
Envíe una lista de solicitudes que se capturarán en secuencia como una ráfaga. |
CaptureSingleRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback) |
Envíe una solicitud para que el dispositivo de cámara capture una imagen. |
Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
Close() |
Cierre esta sesión de captura de forma asincrónica. |
Dispose() |
Una sesión de captura configurada para , |
Dispose(Boolean) |
Una sesión de captura configurada para , |
Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
FinalizeOutputConfigurations(IList<OutputConfiguration>) |
Finalice las configuraciones de salida que ahora tienen sus superficies aplazadas o adicionales incluidas. |
GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
Prepare(Surface) |
Asigne previamente todos los búferes para una Superficie de salida. |
SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
SetRepeatingBurst(IList<CaptureRequest>, CameraCaptureSession+CaptureCallback, Handler) |
Solicite sin fin la captura de repetición de una secuencia de imágenes mediante esta sesión de captura. |
SetRepeatingBurstRequests(IList<CaptureRequest>, IExecutor, CameraCaptureSession+CaptureCallback) |
Solicite sin fin la captura de repetición de una secuencia de imágenes mediante esta sesión de captura. |
SetRepeatingRequest(CaptureRequest, CameraCaptureSession+CaptureCallback, Handler) |
Solicite sin fin la repetición de la captura de imágenes mediante esta sesión de captura. |
SetSingleRepeatingRequest(CaptureRequest, IExecutor, CameraCaptureSession+CaptureCallback) |
Solicite sin fin la repetición de la captura de imágenes mediante esta sesión de captura. |
StopRepeating() |
Cancele cualquier captura de repetición en curso establecida por |
SupportsOfflineProcessing(Surface) |
Consulta si una superficie determinada puede admitir el modo sin conexión. |
SwitchToOffline(ICollection<Surface>, IExecutor, CameraOfflineSession+CameraOfflineSessionCallback) |
Cambie la sesión de captura actual y un conjunto determinado de superficies de cámara registradas al modo de procesamiento sin conexión. |
ToArray<T>() |
Una sesión de captura configurada para , |
ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
UnregisterFromRuntime() |
Una sesión de captura configurada para , |
UpdateOutputConfiguration(OutputConfiguration) |
Actualización después de |
Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<>< (Heredado de Object) |
Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
IJavaPeerable.Disposed() |
Una sesión de captura configurada para , |
IJavaPeerable.DisposeUnlessReferenced() |
Una sesión de captura configurada para , |
IJavaPeerable.Finalized() |
Una sesión de captura configurada para , |
IJavaPeerable.JniManagedPeerState |
Una sesión de captura configurada para , |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Una sesión de captura configurada para , |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Una sesión de captura configurada para , |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Una sesión de captura configurada para , |
Métodos de extensión
JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
JavaCast<TResult>(IJavaObject) |
Una sesión de captura configurada para , |
GetJniTypeName(IJavaPeerable) |
Una sesión de captura configurada para , |