[英]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.