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 , CameraDeviceque 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.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 , CameraDeviceque 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 createCaptureSessionCameraDevice#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.
Java documentación para android.hardware.camera2.CameraCaptureSession.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| CameraCaptureSession() | |
| CameraCaptureSession(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Propiedades
| Nombre | Description |
|---|---|
| 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 |
Obtenga el Surface de entrada asociado a una sesión de captura reprocesable. |
| IsReprocessable |
Devuelve si la aplicación puede enviar solicitudes de captura de reprocesamiento con esta sesión de captura de cámara. |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Una sesión de captura configurada para , |
| JniPeerMembers |
Una sesión de captura configurada para , |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| 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
| Nombre | Description |
|---|---|
| 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. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Una sesión de captura configurada para , |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Una sesión de captura configurada para , |
| Equals(Object) |
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 para el objeto . (Heredado de Object) |
| JavaFinalize() |
Obsoletos.
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 un Surface de salida. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Una sesión de captura configurada para , |
| 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) |
Consulte si un Surface determinado 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>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| UpdateOutputConfiguration(OutputConfiguration) |
Actualización después de |
| UpdateOutputConfigurations(IList<OutputConfiguration>) |
Actualice las configuraciones de salida de esta sesión de cámara. |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (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) |
| 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) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Una sesión de captura configurada para , |
| IJavaPeerable.Finalized() |
Una sesión de captura configurada para , |
| IJavaPeerable.JniObjectReferenceControlBlock |
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 , |
| IJavaPeerable.UnregisterFromRuntime() |
Una sesión de captura configurada para , |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerció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 , |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |