在调用AVCaptureDevice的setCameraPosition方法之前,需要先检查当前设备是否具有前置摄像头。以下是示例代码:
if let device = AVCaptureDevice.default(for: AVMediaType.video){
if device.hasMediaType(AVMediaType.video) {
if device.position == AVCaptureDevice.Position.back {
// rear camera detected
} else if device.position == AVCaptureDevice.Position.front {
// front camera detected
do {
let input = try AVCaptureDeviceInput(device: device)
// continue with input
} catch {
// handle error
}
} else {
// no camera detected
}
}
}
在检查当前设备是否具有前置摄像头之后,即可使用setCameraPosition方法将相机位置更改为前置相机。