访问Swift 4中的前置摄像头

B.T*_*ter 1 camera avfoundation swift

我在相机应用程序中有这个

session.sessionPreset = AVCaptureSession.Preset.high
camera = AVCaptureDevice.default(for: AVMediaType.video)

    do {
        let cameraCaptureInput = try AVCaptureDeviceInput(device: camera!)
        cameraCaptureOutput = AVCapturePhotoOutput()

        session.addInput(cameraCaptureInput)
        session.addOutput(cameraCaptureOutput!)

    } catch {
        print(error.localizedDescription)
    }
Run Code Online (Sandbox Code Playgroud)

如何访问前置摄像头?

Wil*_*jay 8

你可以这样设置AVCaptureDevice.只需要将默认设置positionfront相机.

        var defaultVideoDevice: AVCaptureDevice?

        // Choose the back dual camera if available, otherwise default to a wide angle camera.
        if let dualCameraDevice = AVCaptureDevice.default(.builtInDualCamera, for: AVMediaType.video, position: .back) {
            defaultVideoDevice = dualCameraDevice
        }

        else if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: AVMediaType.video, position: .back) {
            defaultVideoDevice = backCameraDevice
        }

        else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: AVMediaType.video, position: .front) {
            defaultVideoDevice = frontCameraDevice
        }

        let videoDeviceInput = try AVCaptureDeviceInput(device: defaultVideoDevice!)
Run Code Online (Sandbox Code Playgroud)