这两款iPhone相机在同一个视图上?

时间:2016-04-20 00:50:48

标签: ios swift

我已经在网上浏览了一下,并且自己玩了一下,但却无法找到关于这个话题的任何内容,我认为它之前从未真正被玩过。

let devices = AVCaptureDevice.devices().filter{ $0.hasMediaType(AVMediaTypeVideo) && $0.position == AVCaptureDevicePosition.Back }
    if let captureDevice = devices.first as? AVCaptureDevice  {


        do {
            try sessionCap.addInput(AVCaptureDeviceInput(device: captureDevice))
        } catch {

        }

        sessionCap.sessionPreset = AVCaptureSessionPresetPhoto
        sessionCap.startRunning()

        stillImageOutput.outputSettings = [AVVideoCodecKey:AVVideoCodecJPEG]

        if sessionCap.canAddOutput(stillImageOutput) {
            sessionCap.addOutput(stillImageOutput)
        }

        if let previewLayer = AVCaptureVideoPreviewLayer(session: sessionCap) {

            previewLayer.bounds = view.bounds
            previewLayer.position = CGPointMake(view.bounds.midX, view.bounds.midY)
            previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill

            let cameraPreview = UIView(frame: CGRectMake(0.0, 0.0, view.bounds.size.width, view.bounds.size.height))

            cameraPreview.layer.addSublayer(previewLayer)
            cameraPreview.addGestureRecognizer(UITapGestureRecognizer(target: self, action:#selector(ViewController.saveToCamera(_:))))

            view.addSubview(cameraPreview)
        }
    }

所以这是我目前的代码,基本上是它在ViewController上显示iPhone背面摄像头,我还有其他代码可以让用户拍照 - 很棒。但是,我想知道将两个摄像头添加到同一视图的可能性有多大?

Screen View Example

黑色区域是前置摄像头(“自拍摄像头”),青色区域是后置摄像头。我会在这里发布时继续寻找,但我觉得这是一个失败的原因。

1 个答案:

答案 0 :(得分:0)

在我看来,这是不可能的。

您不能同时使用这两个相机,因为它们不允许同时使用。一旦AVCaptureSession开始,另一个AVCaptureSession将停止,因为它需要设备硬件。