2017-01-01 1 views
0

에 저는 현재 다음과 같은 코드의 조각 작업입니다 내가 그 변화를하면이 블록의 나머지 부분.수정 AVCaptureStillImageOutput는 AVCapturePhotoOutput

특히, 댓글이 달린 let settings = AVCapturePhotoSettings()을 사용하여 동일한 설정을 적용하려면 어떻게해야합니까?

참고로 this 안내서를 가이드로 사용하고 있습니다.

감사

답변

2

애플 문서는이 사진을 캡처하는 단계는 How to use AVCapturePhotoOutput

에 대한 아주 명확한 설명합니다.

  • AVCapturePhotoOutput 개체를 만듭니다. 이 속성을 사용하여 지원되는 캡처 설정을 결정하고 특정 기능 (예 : 라이브 사진 캡처 여부)을 활성화합니다.
  • AVCapturePhotoSettings 개체를 만들고 구성하여 특정 캡처에 대한 기능 및 설정을 선택합니다 (예 : 이미지 안정화 또는 플래시 활성화 여부).
  • 사진 설정 개체를 AVCapturePhotoCaptureDelegate 프로토콜을 구현하는 대리자 개체와 함께 capturePhoto (with : delegate :) 메서드에 전달하여 이미지를 캡처합니다. 그런 다음 캡처 출력 중에 중요한 이벤트를 알리기 위해 사진 캡처 출력에서 ​​대리인에게 전화를 겁니다.

clickCapture 메서드에이 코드가 있어야하며 클래스에서 위임을 확인하고 구현하는 것을 잊지 마십시오.

let settings = AVCapturePhotoSettings() 
let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first! 
let previewFormat = [kCVPixelBufferPixelFormatTypeKey as String: previewPixelType, 
          kCVPixelBufferWidthKey as String: 160, 
          kCVPixelBufferHeightKey as String: 160, 
          ] 
settings.previewPhotoFormat = previewFormat 
self.cameraOutput.capturePhoto(with: settings, delegate: self) 

당신은 체크 아웃 avfoundation에서 사진을 캡처에 다른 방법을 알고 싶다면 내 이전 SO answer

+0

이것은 내가 몇 시간 동안보고하지만 여전히 구현하는 방법을 잘 모르겠습니다 된 대답은 그것. 예를 들어, 제 코드 조각은 JPEG 용 코덱을 선택했습니다. 이 코드로 어디에서 똑같이 할 수 있습니까? –

+1

'AVCapturePhotoSettings'에 대한 초기화시 사전 형식 인 init 옵션이 있습니다. 해당 사전에 AVVideoCodecKey를 설정할 수 있습니다. 링크 [여기] (https://developer.apple.com/reference/avfoundation/avcapturephotosettings) [여기] (https://developer.apple.com/reference/avfoundation/avcapturephotosettings/1648673-init) 및 [여기] (https://developer.apple.com/reference/avfoundation/avcapturephotosettings/1648783-format). 자세한 내용은 사과 문서를 확인하는 것이 가장 좋습니다. – Bluewings