카메라 입력을 관리하는 세션
카메라 입력을 구성하고 미리보기 화면을 표시할 수 있음
비디오 및 오디오 입력을 처리하고 출력을 설정하는데 사용
iOS 장치의 카메라 또는 마이크와 같은 입력 장치를 나타냄
클래스를 사용하여 카메라를 선택하고 해당 카메라의 속성을 구성 (전면, 후면, 화이트 밸런스, 포커스 모드 등)
AVCaptureSession에 입력을 제공하는 객체
클래스를 사용하여 AVCaptureDevice를 AVCaptureSession에 연결할 수 있음
AVCaptureSession에서 비디오, 오디오 데이터를 수신하고 처리하는 객체
주요한 출력 클래스
- AVCaptureVideoDataOutput: 비디오 데이터 처리
- AVCaptureAudioDataOutput: 오디오 데이터 처리
이러한 클래스를 사용하여 실시간 비디오 스트림 또는 사진을 캡처하고 필요한 처리를 수행
AVCaptureSession의 미리보기 화면을 표시하기 위한 CALayer
미리보기 화면을 구성하고 화면에 렌더링할 수 있음
사진 캡처를 위한 AVCaptureOutput의 하위 클래스
이를 사용하여 정적 이미지를 캡처하고 필요한 처리를 수행할 수 있음
(ex. 플래시 제어, 화이트 밸런스 설정, 이미지 포맷 지정 등)
비디오를 캡처하고 처리하기 위한 델리게이트
AVCaptureSession에서 비디오 데이터가 사용 가능할 때마다 해당 데이터를 처리할 수 있음
주로 실시간 비디오 처리를 위해 사용
delegate 메서드:
captureOutput:
didOuputSampleBuffer:
fromConnection:
이 델리게이트를 사용하면 AVCaptureSession에서 오디오 데이터가 사용 가능할 때마다 해당 데이터를 처리할 수 있음
주로 실시간 오디오 처리를 위해 사용
delegate 메서드:
captureOutput:
didOutputSampleBuffer:
fromConnection:
사진 캡처와 관련된 작업을 수행하기 위한 델리게이트
AVCaptureOutput을 사용하여 사진을 캡처할 때 이 델리게이트를 구현하여 캡처 완료 시 호출되는 메서드를 처리할 수 있음
delegate 메서드:
captureOutput:
didFinishProcessingPhoto:
error:
captureOutput:
didFinishCaptureForResolvedSetting:
error:
AVCaptureMovieFileOutput을 사용하여 비디오를 녹화할 때 이 델리게이트를 구현하여 녹화 시작, 진행중, 완료 등과 관련된 이벤트를 처리할 수 있음
delegate 메서드:
captureOutput:
didStartRecordingToOutputFileAtURL:
fromConnections:
captureOutput:
didFinishRecordingToOutputFileAtURL:
fromConnections:
error: