5
그래서 AVFoundation을 사용하여 카메라를 구현하려고합니다. 나는 모든 일을 올바르게한다고 생각합니다. 이 제가AVFoundation 카메라 미리보기 레이어가 작동하지 않습니다.
- 는 # 3에서 설명한 장치를 이용한 디바이스의 입력을 얻을 백
- 에서 카메라를 얻는 장치를 통해 세션을
- 루프 비디오 형
- GET 장치를 생성하고 있는가 무엇이며 의 CALayer를 이리저리 얻을
AVCaptureStillImageOutput
- 설정된 출력 설정을 유형의 출력을 생성 세션
- 에 추가하고 세션
- 에 추가 내보기 2
- 7
- 시작 세션을
그래서 실행 #에서 언급 된 레이어에 추가 AVCaptureVideoPreviewLayer
self.session = [[AVCaptureSession alloc]init];
[self.session setSessionPreset:AVCaptureSessionPresetHigh];
NSArray *devices = [[NSArray alloc]init];
devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for (AVCaptureDevice *device in devices){
if([device position] == AVCaptureDevicePositionBack){
self.device = device;
break;
}
}
NSError *error;
self.input = [[AVCaptureDeviceInput alloc]initWithDevice:self.device error:&error];
if([self.session canAddInput:self.input]){
[self.session addInput:self.input];
}
self.stillImageOutput = [[AVCaptureStillImageOutput alloc]init];
NSDictionary *outputSettings = @{AVVideoCodecKey : AVVideoCodecJPEG};
[self.stillImageOutput setOutputSettings:outputSettings];
[self.session addOutput:self.stillImageOutput];
CALayer *cameraLayer = self.cameraView.layer;
self.cameraView.backgroundColor = [UIColor clearColor];
AVCaptureVideoPreviewLayer *preview = [[AVCaptureVideoPreviewLayer alloc]initWithSession:self.session];
[cameraLayer addSublayer:preview];
[self.session startRunning];
는 내가 얻을 것은보기 1 (그것의 배경으로 .PNG 이미지가 그 아래보기,보기 2 표시 할 수 있도록 이미지가 구멍이있다 : 여기
코드입니다) 그리고보기 2가 보이지만 나는 내가 무엇을해야하는지 안다. 보기 2의 배경색을 선택 취소하여 모두 검은 색으로 표시됩니다. 나는 카메라가 보는 것을보아야한다.