ImageWriter.QueueInputImage(Image) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將輸入 Image 排隊回 ImageWriter,讓下游消費者存取。
[Android.Runtime.Register("queueInputImage", "(Landroid/media/Image;)V", "GetQueueInputImage_Landroid_media_Image_Handler", ApiSince=23)]
public virtual void QueueInputImage(Android.Media.Image? image);
[<Android.Runtime.Register("queueInputImage", "(Landroid/media/Image;)V", "GetQueueInputImage_Landroid_media_Image_Handler", ApiSince=23)>]
abstract member QueueInputImage : Android.Media.Image -> unit
override this.QueueInputImage : Android.Media.Image -> unit
參數
- image
- Image
圖片將排隊回 ImageWriter 以供未來使用。
- 屬性
備註
將輸入 Image 排隊回 ImageWriter,讓下游消費者存取。
輸入 Image 可來自 ImageReader(透過 ImageReader#acquireNextImage 或 ImageReader#acquireLatestImage取得),或是來自此 ImageWriter(透過 #dequeueInputImage取得)。 在前者情況下,影像資料會移至此 ImageWriter。 請注意,圖片屬性(大小、格式、步幅等)必須與從此 ImageWriter 出廠的圖片屬性相同。 在後者情況下,應用程式已將輸入影像填入資料。 此方法接著將填充的緩衝區傳遞給下游消費者。 在這兩種情況下,呼叫者必須確保影像時間戳(奈秒)正確設定,因為下游元件可能想用它來指示影像資料擷取時間。
當此方法被呼叫後,下游消費者使用並釋放映像檔, OnImageReleasedListener#onImageReleased 回調就會觸發。 應用程式可利用此回調,避免傳送影像時速度超過穩定狀態下下行消費者的處理速度。
從其他元件(例如 ) ImageReader傳送影像時,需要從此 ImageWriter 自由輸入影像作為目的地。 在這種情況下,這通電話會被封鎖,如果 #dequeueInputImage 沒有免費圖片可用,也會被封鎖。 為避免阻塞,應用程式應確保此 ImageWriter 至少有一張空閒影像,再呼叫此方法。
呼叫完成後,輸入的影像不再有效,無法繼續存取,就像影像是 Image#close closed。 嘗試存取先前Image.Plane#getBuffer Plane#getBuffer通話回傳的 ByteBuffer ByteBuffers 會產生 IllegalStateException。
Java 文件 android.media.ImageWriter.queueInputImage(android.media.Image)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。