大佬教程收集整理的这篇文章主要介绍了在Swift中使用按钮切换相机,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@IBACtion func didTouchSwitchButton(sender: UIButton) { let camera = getDevice(.Front) let cameraBACk = getDevice(.BACk) do { input = try AVCaptureDeviceInput(device: camera) } catch let error as NSError { print(error) input = nil } if(captureSession?.canAddInput(input) == truE){ captureSession?.addInput(input) stillImageOutput?.outputSetTings = [AVVideoCodecKey : AVVideoCodecJPEG] if(captureSession?.canAddOutput(stillImageOutput) == truE){ captureSession?.addOutput(stillImageOutput) previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) previewLayer?.frame = cameraView.bounds cameraView.layer.addSublayer(previewLayer!) captureSession?.startRunning() } }
}
func switchCamera(_ sender: UIButton) { if let session = AVCaptureSession() { let currentCameraInput: AVCaptureInput = session.inputs[0] session.removeInput(currentCameraInput) var newCamera: AVCaptureDevice newCamera = AVCaptureDevice.default(for: AVMediaType.video)! if (currentCameraInput as! AVCaptureDeviceInput).device.position == .BACk { UIView.transition(with: self.cameraView,duration: 0.5,options: .transitionFlipFromLeft,animations: { newCamera = self.cameraWithPosition(.front)! },completion: nil) } else { UIView.transition(with: self.cameraView,options: .transitionFlipFromRight,animations: { newCamera = self.cameraWithPosition(.BACk)! },completion: nil) } do { try self.captureSession?.addInput(AVCaptureDeviceInput(device: newCamera)) } catch { print("error: \(error.localizedDescription)") } } } func cameraWithPosition(_ position: AVCaptureDevice.Position) -> AVCaptureDevice? { let deviceDescoverySession = AVCaptureDevice.DiscoverySession.init(deviCETypes: [AVCaptureDevice.DeviCEType.builTinWideAngleCamera],mediaType: AVMediaType.video,position: AVCaptureDevice.Position.unspecified) for device in deviceDescoverySession.devices { if Device.position == position { return device } } return nil }
以上是大佬教程为你收集整理的在Swift中使用按钮切换相机全部内容,希望文章能够帮你解决在Swift中使用按钮切换相机所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。