我试图用CameraX拍摄视频。为此,我阅读了SO帖子here和here。但是,当我复制粘贴代码并对其进行一点调整时,setLensFacing()
方法有一个未解决的引用:
videoCapture = VideoCaptureConfig.Builder().apply {
setTargetRotation(binding.viewFinder.display.rotation)
setLensFacing(lensFacing)
}.build()
我稍微调整了代码,因为您不再需要将配置对象传递给VideoCapture
。您可以直接构建它。此时,Android Studio告诉我setLensFacing(lensFacing)
尚未解决。我有点困惑,因为在此page上有一个不错的文档,并且VideoCaptureConfig.Builder()
包含setLensFacing()
我希望有人可以提供帮助。
摄像机选择不再通过用例完成。您编写的代码只有在-I think- 1.0.0-alpha08版本之前才可以使用。
现在选择镜头的方法是将一个(或多个)用例绑定到生命周期时使用CameraSelector
。这样,所有用例都使用相同的lensFacing。
所以您可以写:
val cameraSelector = CameraSelector.Builder().requireLensFacing(lensFacing).build()
// Or alternatively if you want a specific lens, like the back facing lens
val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
val videoCapture = VideoCaptureConfig.Builder().build()
processCameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, videoCapture)
请注意,目前,VideoCapture用例已隐藏在camerax API中,并且仍处于早期开发状态。