LoginSignup
1
1

More than 3 years have passed since last update.

アンドロイド Camera Xとトーチライトの組み合わせ

Posted at

Camera Xでライトをつける

Camera Xでカメラの機能を実装して、トーチライトを使おうとしたら、あれっ、ライト付かないんだけど...ってなったので今後忘れないようにメモ。

Camera Xの前までやってた書き方↓(※Camera Xではライトが付かなかった例)

        val cameraManager = getSystemService(Context.CAMERA_SERVICE) as CameraManager
        cameraManager.registerTorchCallback(object: CameraManager.TorchCallback(){
            override fun onTorchModeChanged(cameraId: String, enabled: Boolean) {
                super.onTorchModeChanged(cameraId, enabled)
                cameraID = cameraId
                lightOn = enabled
            }
        }, Handler())

        //トーチライトオン
        cameraManager.setTorchMode(cameraID, lightOn)

これだとCamera 2とかでは使えるけど Camera Xでは使えずトーチライトが付かない。ちなみにビルドは普通に通る。

Camera Xでの書き方↓

前提として、Camera Xのプレビューまで実装済み

val preview = Preview(previewConfig)
CameraX.bindToLifecycle(this, preview)

//ライトをつける
preview.enableTorch(true)

まさかのこれだけ。プレビューuse caseを使ってトーチライトをつけることができる。
すごく便利だった。

ちなみに自分は最初付かねーってなったけど、ちゃんと公式には書いてあった...

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1