ImageWriter.DequeueInputImage Método
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.
Desqueue a próxima imagem de entrada disponível para o aplicativo para produzir dados.
[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
Retornos
A próxima imagem de entrada disponível deste ImageWriter.
- Atributos
Comentários
Desqueue a próxima imagem de entrada disponível para o aplicativo para produzir dados.
Esse método solicita uma nova imagem de entrada do ImageWriter. O aplicativo é proprietário dessa Imagem após essa chamada. Depois que o aplicativo preencher os dados de imagem, espera-se que essa imagem retorne ao ImageWriter para que os componentes do consumidor downstream (por exemplo android.hardware.camera2.CameraDevice) consumam. A imagem pode ser retornada ao ImageWriter por meio #queueInputImage ou Image#close().
Essa chamada será bloqueada se todas as imagens de entrada disponíveis tiverem sido enfileiradas pelo aplicativo e o consumidor downstream ainda não tiver consumido nenhuma. Quando uma imagem é consumida pelo consumidor downstream e liberada, um OnImageReleasedListener#onImageReleased retorno de chamada será acionado, o que indica que há uma imagem de entrada disponível. Para não ImageFormat#PRIVATE PRIVATE formatos ( ImageWriter#getFormat() != ImageFormat#PRIVATE), é recomendável desativar a próxima Imagem somente depois que esse retorno de chamada for acionado, no estado estável.
Se o formato do ImageWriter for ImageFormat#PRIVATE PRIVATE ( ImageWriter#getFormat() == ImageFormat#PRIVATE), o buffer de imagem será acessível ao aplicativo somente por meio do buffer de hardware obtido por meio Image#getHardwareBuffer()de . (Em versões do Android antes de P, a desativação de buffers privados fará com que um IllegalStateException seja gerado). Como alternativa, o aplicativo pode adquirir imagens de algum outro componente (por exemplo, um ImageReader) e enfileira-las diretamente para esse ImageWriter por meio do ImageWriter#queueInputImage queueInputImage() método.
Java documentação para android.media.ImageWriter.dequeueInputImage().
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.