我已按照此处的步骤进行 CameraX 设置,现在我正在尝试让前置摄像头按钮正常工作。
这是我的设置代码:
private lateinit var preview: Preview
private fun startCamera() {
    // Create configuration object for the viewfinder use case
    val previewConfig = PreviewConfig.Builder().apply {
        setLensFacing(CameraX.LensFacing.BACK)
    }.build()
    // Build the viewfinder use case
    preview = Preview(previewConfig)
    // Every time the viewfinder is updated, recompute layout
    preview.setOnPreviewOutputUpdateListener {
        // To update the SurfaceTexture, we have to remove it and re-add it
        val parent = viewFinder.parent as ViewGroup
        parent.removeView(viewFinder)
        parent.addView(viewFinder, 0)
        viewFinder.surfaceTexture = it.surfaceTexture
        updateTransform()
    }
    // Bind use cases to lifecycle
    CameraX.bindToLifecycle(this, preview)
}
当用户单击“切换”按钮时,我将预览重新配置为使用前置摄像头,然后重新初始化预览。
private fun initSwitchButton(view: View) {
    switchButton = view.findViewById(R.id.switch_button)
    switchButton.setOnClickListener {
        val previewConfig = PreviewConfig.Builder().apply { setLensFacing(CameraX.LensFacing.FRONT) }.build()
        preview = Preview(previewConfig)
    }
}
但是,这不会切换到前置摄像头。我错过了什么?