語言

ImageWriter.DequeueInputImage 方法

定義

將下一個可用輸入的影像從應用程式中移除,以便產生資料。

[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

傳回

下一個可用輸入:圖片來自此 ImageWriter。

屬性

備註

將下一個可用輸入的影像從應用程式中移除,以便產生資料。

此方法向 ImageWriter 請求新的輸入影像。 此通話結束後,應用程式擁有此映像檔。 應用程式填滿影像資料後,預期會將此影像回傳給 ImageWriter,供下游消費者元件(例如 android.hardware.camera2.CameraDevice)使用。 圖片可透過 #queueInputImage 或 Image#close()返回 ImageWriter。

若應用程式已排隊所有可用輸入映像,且下游消費者尚未使用任何影像,此呼叫將被阻塞。 當下游消費者消耗並釋放映像時, OnImageReleasedListener#onImageReleased 會觸發回調,表示有一個輸入映像可用。 對於非格式 ImageFormat#PRIVATE PRIVATE ( ImageWriter#getFormat() != ImageFormat#PRIVATE),建議只有在回調觸發後,且以穩定狀態下,才取消下一個影像的排隊。

若 ImageWriter 格式為 ImageFormat#PRIVATE PRIVATE (ImageFormat#PRIVATEImageWriter#getFormat() == ),則影像緩衝區僅能透過透過硬體緩衝Image#getHardwareBuffer()區存取。 (在 P 之前的 Android 版本中,將私有緩衝區去排隊會導致拋出 。IllegalStateException 或者,應用程式也可以從其他元件(例如 一個 ImageReader)擷取影像,並透過該 ImageWriter#queueInputImage queueInputImage() 方法直接排隊至此 ImageWriter。

Java 文件 android.media.ImageWriter.dequeueInputImage()。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於