我已经在网上浏览了一下,并且自己玩了一下,但却无法找到关于这个话题的任何内容,我认为它之前从未真正被玩过。
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背面摄像头,我还有其他代码可以让用户拍照 - 很棒。但是,我想知道将两个摄像头添加到同一视图的可能性有多大?
黑色区域是前置摄像头(“自拍摄像头”),青色区域是后置摄像头。我会在这里发布时继续寻找,但我觉得这是一个失败的原因。
答案 0 :(得分:0)
在我看来,这是不可能的。
您不能同时使用这两个相机,因为它们不允许同时使用。一旦AVCaptureSession
开始,另一个AVCaptureSession
将停止,因为它需要设备硬件。