0
Help us understand the problem. What are the problem?

posted at

updated at

CameraXでオートフォーカスが停止する

CameraXで継続的なオートフォーカスが停止する問題

AndroidのCameraXを利用していて何かをきっかけに継続的に動作しているオートフォーカスが停止してしまうことがありました。特に背面カメラでプレビューしている時にカメラを下に伏せて置いた後、持ち上げるとプレビューがぼやけたまま停止するケースが頻度が高いように感じました。
もしかするとスマホ(GalaxyS9)に依存した問題なのかもしれませんが、問題が解消した方法を共有しておきます。

CameraFragment.kt
@SuppressLint("UnsafeOptInUsageError") // ←追記
private fun bindCameraUseCases() {

    // 以上省略

    // A variable number of use-cases can be passed here -
    // camera provides access to CameraControl & CameraInfo
    camera = cameraProvider.bindToLifecycle(
            this, cameraSelector, preview, imageCapture, imageAnalyzer)

    // ここから追加
    val camera2CameraControl = Camera2CameraControl.from(camera!!.cameraControl)
    // dynamically changes the parameters.
    camera2CameraControl.captureRequestOptions =
        CaptureRequestOptions.Builder()
            .setCaptureRequestOption(
                CaptureRequest.CONTROL_AF_MODE,
                CameraMetadata.CONTROL_AF_MODE_CONTINUOUS_VIDEO
            ).build()
    // ここまで追加
    // 以下省略

元にしたプロジェクト

以下のCameraXBasic

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?