其中方法1适用于快速设置闪光灯模式,而方法2适用于需要相机采集功能的场景。
在iOS设备上,可以通过以下几种方式让闪光灯常亮:
方法1:使用AVCaptureDevice设置闪光灯模式
```
import AVFoundation
do {
// 获取当前设备
guard let device = AVCaptureDevice.default(for: .video) else { return }
try device.lockForConfiguration()
// 设置闪光灯模式为常亮
device.torchMode = .on
device.unlockForConfiguration()
} catch {
// 处理异常
}
```
方法2:使用AVCaptureSession设置闪光灯模式
```
import AVFoundation
// 创建会话
let session = AVCaptureSession()
// 获取设备
guard let device = AVCaptureDevice.default(for: .video) else { return }
// 将设备添加到会话中
guard let deviceInput = try? AVCaptureDeviceInput(device: device),
session.canAddInput(deviceInput) else { return }
session.addInput(deviceInput)
// 将输出设置为视频类型
let output = AVCaptureVideoDataOutput()
session.addOutput(output)
// 获取队列
let queue = DispatchQueue(label: "com.example.captureQueue")
output.setSampleBufferDelegate(self, queue: queue)
// 开启会话
session.startRunning()
```
这两种方法都是基于AVFoundation框架,在使用之前需要先引入AVFoundation库。其中方法1适用于快速设置闪光灯模式,而方法2适用于需要相机采集功能的场景。