【发布时间】:2023-01-20 20:57:24
【问题描述】:
我目前正在做一个小相机项目,需要在录制视频时更换相机。我怎样才能做到这一点?
我多次搜索谷歌,但我没有找到任何东西。
【问题讨论】:
我目前正在做一个小相机项目,需要在录制视频时更换相机。我怎样才能做到这一点?
我多次搜索谷歌,但我没有找到任何东西。
【问题讨论】:
在 CameraX 中,您可以在录制时使用 CameraX 类上的 setLensFacing() 方法更改镜头。您可以传入 CameraX.LensFacing.BACK 以使用后置摄像头镜头,或传入 CameraX.LensFacing.FRONT 以使用前置摄像头镜头。
下面是一个在 Kotlin 中录制时如何更换镜头的示例:
val cameraProviderFuture = ProcessCameraProvider.getInstance(context)
cameraProviderFuture.addListener(Runnable {
// Camera provider is now guaranteed to be available
val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get()
// Set the desired lens
val lensFacing = CameraX.LensFacing.BACK
CameraX.getCameraWithLensFacing(lensFacing)
// ... continue with the rest of your CameraX initialization
}, ContextCompat.getMainExecutor(context))
请务必注意,此方法只会在当前未使用相机时更换镜头,这意味着如果您当前正在录制视频或拍照,则必须先停止当前会话才能更换镜头.此外,某些设备可能不支持此功能,因此您可能需要在尝试设置之前检查设备是否支持所需的镜头。
您可以使用 CameraX.getCameraInfo(lensFacing) 检查设备是否支持所需的镜头。
【讨论】: