簡體   English   中英

如何在cameraX中解除單個用例的綁定

[英]How to unbind single use-case in cameraX

我有多個用於鏡頭、預覽、對焦等的用例

我知道如何解除所有cameraProvider?.unbindAll()綁定

但是,如何僅解除一個用例的綁定。 如何僅通過焦點解除綁定?

以及它如何知道,如果我通過cameraProvider?.unbind(imageCapture)來取消綁定哪一個cameraProvider?.unbind(imageCapture)因為沒有順序並且它們沒有分配給任何變量。 所以,我很困惑!

每次我解除綁定時,所有屏幕都會重新加載。 所以,我需要以某種方式避免這種情況。

在嘗試時,我也收到此錯誤

No supported surface combination is found for camera device - Id : 0. May be attempting to bind too many use cases.

但是,如何僅解除綁定一個用例

您只能使用ProcessCameraProvider.unbind()取消綁定一個用例(或什至兩個用例ProcessCameraProvider.unbind() ,它采用UseCase類型的可變數量的參數(varargs)。

// Binding Preview and ImageCapture use cases
cameraProvider.bind(lifecycleOwner, cameraSelector, preview, imageCapture)

...

// Unbinding the ImageCapture use case
cameraProvider.unbind(imageCapture)

以及它如何知道,如果我通過 cameraProvider 來取消綁定哪一個?.unbind(imageCapture) 因為沒有順序並且它們沒有分配給任何變量。 所以,我很困惑!

例如,CameraX 不需要明確知道您正在解除綁定圖像捕獲用例。 它解除了一個用例的綁定,該用例具有特定的配置,例如表面、分辨率、圖像格式等。這會在必要時轉換為更新相機捕獲會話。

每次我解除綁定時,所有屏幕都會重新加載。 所以,我需要以某種方式避免這種情況。

故障可能是由取消綁定重復捕獲請求引起的,例如預覽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM