Lingua

ImageWriter.DequeueInputImage Metodo

Definizione

Rimuovere dalla coda l'immagine di input disponibile successiva per l'applicazione in cui produrre dati.

[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

Valori restituiti

Immagine di input successiva disponibile da imagewriter.

Attributi

Commenti

Rimuovere dalla coda l'immagine di input disponibile successiva per l'applicazione in cui produrre dati.

Questo metodo richiede una nuova immagine di input da ImageWriter. L'applicazione possiede questa immagine dopo questa chiamata. Quando l'applicazione riempie i dati dell'immagine, è previsto che restituisca l'immagine a ImageWriter per i componenti consumer downstream (ad esempio android.hardware.camera2.CameraDevice) da utilizzare. L'immagine può essere restituita a ImageWriter tramite #queueInputImage o Image#close().

Questa chiamata bloccherà se tutte le immagini di input disponibili sono state accodate dall'applicazione e il consumer downstream non ha ancora utilizzato alcun oggetto. Quando un'immagine viene utilizzata dal consumer downstream e rilasciata, verrà generato un OnImageReleasedListener#onImageReleased callback, che indica che è disponibile un'immagine di input. Per i formati diversi ImageFormat#PRIVATE PRIVATE ( ImageWriter#getFormat() != ImageFormat#PRIVATE), è consigliabile annullare la coda dell'immagine successiva solo dopo l'avvio di questo callback, nello stato stabile.

Se il formato di ImageWriter è ImageFormat#PRIVATE PRIVATE ( ImageWriter#getFormat() == ImageFormat#PRIVATE), il buffer dell'immagine è accessibile all'applicazione solo tramite il buffer hardware ottenuto tramite .Image#getHardwareBuffer() Nelle versioni di Android precedenti a P, la rimozione della coda dei buffer privati causerà la creazione di un'eccezione IllegalStateException . In alternativa, l'applicazione può acquisire immagini da un altro componente ( ad esempio , ImageReader) e accodarle direttamente a questo ImageWriter tramite il ImageWriter#queueInputImage queueInputImage() metodo .

per android.media.ImageWriter.dequeueInputImage().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a