Compartir a través de


ImageWriter.DequeueInputImage Método

Definición

Poner en cola la siguiente imagen de entrada disponible para que la aplicación genere datos.

[Android.Runtime.Register("dequeueInputImage", "()Landroid/media/Image;", "GetDequeueInputImageHandler", ApiSince=23)]
public virtual Android.Media.Image? DequeueInputImage ();
[<Android.Runtime.Register("dequeueInputImage", "()Landroid/media/Image;", "GetDequeueInputImageHandler", ApiSince=23)>]
abstract member DequeueInputImage : unit -> Android.Media.Image
override this.DequeueInputImage : unit -> Android.Media.Image

Devoluciones

La siguiente imagen de entrada disponible de imageWriter.

Atributos

Comentarios

Poner en cola la siguiente imagen de entrada disponible para que la aplicación genere datos.

Este método solicita una nueva imagen de entrada de ImageWriter. La aplicación posee esta imagen después de esta llamada. Una vez que la aplicación rellena los datos de imagen, se espera que devuelva esta imagen a ImageWriter para que los componentes de consumidor de nivel inferior (por ejemplo android.hardware.camera2.CameraDevice, ) los consuman. Image se puede devolver a ImageWriter a través #queueInputImage de o Image#close().

Esta llamada se bloqueará si la aplicación ha puesto en cola todas las imágenes de entrada disponibles y el consumidor de nivel inferior aún no ha consumido ninguna. Cuando el consumidor de bajada consume una imagen y se libera, se desencadenará una OnImageReleasedListener#onImageReleased devolución de llamada, lo que indica que hay una imagen de entrada disponible. En el caso de los formatos que no ImageFormat#PRIVATE PRIVATE son ( ImageWriter#getFormat() != ImageFormat#PRIVATE), se recomienda quitar la siguiente imagen solo después de que se desencadene esta devolución de llamada, en estado estable.

Si el formato de ImageWriter es ImageFormat#PRIVATE PRIVATE ( ImageWriter#getFormat() == ImageFormat#PRIVATE), el búfer de imágenes solo es accesible para la aplicación a través del búfer de hardware obtenido a través Image#getHardwareBuffer()de . (En las versiones de Android anteriores a P, la eliminación de búferes privados en la cola provocará que se produzca una IllegalStateException excepción). Como alternativa, la aplicación puede adquirir imágenes de algún otro componente (por ejemplo, un ImageReader) y ponerlas en cola directamente a imageWriter a través del ImageWriter#queueInputImage queueInputImage() método .

Documentación de Java para android.media.ImageWriter.dequeueInputImage().

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Se aplica a