비디오 미리보기 레이어를 만들려고 시도 중이지만 제대로 작동하는 것 같지만 화면에 아무 것도 나타나지 않습니다.카메라 미리보기 레이어가로드되지 않습니다.
가var captureSession = AVCaptureSession()
var backCamera: AVCaptureDevice?
var frontCamera: AVCaptureDevice?
var currentCamera: AVCaptureDevice?
var photoOutput: AVCapturePhotoOutput?
var cameraPreviewLayer: AVCaptureVideoPreviewLayer?
//UIOutlets
@IBOutlet weak var cameraView: UIView!
@IBOutlet weak var captureImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view
self.cameraSetupSession()
self.setupDevice()
self.setupInputOutput()
self.setupPerviewLayer()
self.startRunningCaptureSession()
}
func cameraSetupSession() {
print("1")
captureSession.sessionPreset = AVCaptureSession.Preset.photo
}
func setupDevice() {
print("2")
let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [AVCaptureDevice.DeviceType.builtInWideAngleCamera], mediaType: .video , position: .unspecified)
let devices = deviceDiscoverySession.devices
for device in devices{
if device.position == .back{
backCamera = device
}else if device.position == .front{
frontCamera = device
}
}
currentCamera = backCamera
}
func setupInputOutput() {
print("3")
do{
let captureDeviceInput = try AVCaptureDeviceInput(device: currentCamera!)
captureSession.addInput(captureDeviceInput)
photoOutput?.setPreparedPhotoSettingsArray([AVCapturePhotoSettings(format:[AVVideoCodecKey:AVVideoCodecType.jpeg])], completionHandler: nil)
}catch{
displayAlert(title: "Error", message: "There was an error acseesing your camera feed.", okMessage: "Okay")
}
}
func setupPerviewLayer() {
print("4")
cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer?.videoGravity = .resizeAspectFill
cameraPreviewLayer?.masksToBounds = true
cameraPreviewLayer?.connection?.videoOrientation = .portrait
self.view.layer.insertSublayer(cameraPreviewLayer!, at: 0)
}
func startRunningCaptureSession() {
print("5")
self.captureSession.startRunning()
print(self.captureSession.isRunning)
}`
이 중 내 로그 출력은 :
1
2
2017년 11월 23일 12 : 36 : 여기에 사용 된 코드는 04.042296-0500 인스 타 그램 클론 [ 353 : 15568] [MC] systemgroup.com.apple.configurationprofiles 경로의 시스템 그룹 컨테이너는 /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles입니다.
2017-11-23 12 : 36 : 04.043014-0500 Instagram Clone [353 : 15568] [MC] 공개 효과적인 사용자 설정 읽기. 내가 가진 유일한 긍정적 인 신호의
5
사실
한
4
3
내가 삭제하고 응용 프로그램을 청소 때 카메라를 사용할 수있는 권한을 요청 않는다는 것입니다. 제발, 모든 아이디어와 도움이 대단히 감사합니다.