ios - 如何在 Swift 中获取前置摄像头?

标签 ios iphone swift

我正在尝试让前置摄像头具有实时取景功能。我可以使用以下方法获取后置摄像头:

var backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

但我似乎找不到如何获得前置摄像头。如何更改上面的代码以使用前置摄像头?

最佳答案

这是我的一个项目中用于获取前置摄像头的工作示例。这是在 objective-c 中,但被证明可以工作并且很容易转换为 swift。

NSArray *videoDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
AVCaptureDevice *captureDevice = nil;

for (AVCaptureDevice *device in videoDevices){

    if (device.position == AVCaptureDevicePositionFront){

        captureDevice = device;
        break;
    }
}

在 Swift 3.2+ 中:

if let videoDevices = AVCaptureDevice.devices(withMediaType: AVMediaTypeVideo) {
    var captureDevice: AVCaptureDevice
    for device in videoDevices {
        if let device = device as? AVCaptureDevice {
            if device.position == AVCaptureDevicePosition.front {
                captureDevice = device
                break
            }
        }
    }
}

关于ios - 如何在 Swift 中获取前置摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29155623/

相关文章:

iphone - ImageView限制宽度但不限制高度

iPhone Facebook Graph API 库

iphone - 在 iOS 4.0 上使用 SQLite (FMDB) 和线程时出现 EXC_BAD_ACCESS

ios - 如何展开 UINavigationBar 以覆盖状态栏?

ios - 获取推特用户信息

ios - Swift:无法从 uiCollectionView 中的 extensioncontext 打开 url?

ios - ARKit 中访问节点名称

iphone - 如何在 iOS 应用程序中显示和编辑现有的 PDF 文件

ios - 当前用户重新登录后 Firebase 无法正常工作

ios - 表格 View 中的背景按钮图像