LoginSignup
3
3

More than 3 years have passed since last update.

フラッシュや懐中電灯に使われているライトを使う方法です。
点灯消灯を制御できます。

Oct-06-2020 10-21-18.gif

AVFoundationのAVCaptureDeviceから制御できます。

1,点灯

let avCaptureDevice = AVCaptureDevice.default(for: AVMediaType.video)

if avCaptureDevice!.hasTorch, avCaptureDevice!.isTorchAvailable { // キャプチャデバイスにライトがあるか、 ライトが使用可能な状態か
    do {
        try avCaptureDevice!.lockForConfiguration() // デバイスにアクセスするときはこれする。
        try avCaptureDevice!.setTorchModeOn(level: 1.0) // 点灯。明るさレベルは 0.0 ~ 1.0
    } catch let error {
        print(error)
    }
    avCaptureDevice!.unlockForConfiguration()
}

torchMode = .on でも最大レベルで点灯できます。
torchMode = .auto は「キャプチャデバイスは継続的に光のレベルを監視し、必要に応じてトーチを使用します。」とのことです。

2,消灯

do {
    try avCaptureDevice!.lockForConfiguration()
} catch let error {
    print(error)
}
avCaptureDevice!.torchMode = .off
avCaptureDevice!.unlockForConfiguration()

🐣


お仕事のご相談こちらまで
rockyshikoku@gmail.com

Core MLを使ったアプリを作っています。
機械学習関連の情報を発信しています。

Twitter
Medium

3
3
0

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
3
3