我有多个镜头,预览,聚焦等用例
我知道怎么解开它 cameraProvider?.unbindAll()
但是,如何只解除一个用例的绑定。如何将焦点转移到解除绑定?
它怎么知道,如果我通过了该解开哪一个 cameraProvider?.unbind(imageCapture)
因为没有顺序,也没有给任何变量赋值。所以,我很困惑!
每次我解除绑定时,所有屏幕都将重新加载。所以,我需要设法避免这种情况。
在尝试这样做的同时,我也得到了这个错误
No supported surface combination is found for camera device - Id : 0. May be attempting to bind too many use cases.
1条答案
按热度按时间vjhs03f71#
但是,如何只解除一个用例的绑定
您可以使用
ProcessCameraProvider.unbind()
它接受类型为的可变数量的参数(varargs)UseCase
.它如何知道,如果我传递cameraprovider,要取消绑定哪一个?.unbind(imagecapture),因为没有顺序,也没有给任何变量赋值。所以,我很困惑!
例如,camerax不需要明确地知道您正在解除图像捕获用例的绑定。它解除了一个用例的绑定,这个用例有一个特定的配置,例如表面、分辨率、图像格式等。这意味着在必要时更新相机捕获会话。
每次我解除绑定时,所有屏幕都将重新加载。所以,我需要设法避免这种情况。
该故障可能是由于取消绑定重复的捕获请求(如preview)造成的。