녹음 앱을 구현 한 상태에서 "녹음"버튼을 눌러 녹음을 시작/중지 할 수 있습니다. 출력을 GPUImageView
및 GPUImageMovieWriter
으로 설정 한 기본 GPUImageVideoCamera
으로이 작업을 수행합니다.GPUImageMovieWriter - 녹화 된 비디오의 양쪽 끝에 가끔 검은 색 프레임이 있습니다.
시간의 50 %가 기록 된 클립의 양쪽 끝에서 두 개 (또는 단일)의 검은 색 프레임으로 끝나기도합니다. 구현은 매우 간단하지만 어쨌든 여기에 있습니다.
gpuImageView = [[GPUImageView alloc] initWithFrame:cameraView.frame];
gpuImageView.fillMode = kGPUImageFillModePreserveAspectRatioAndFill;
[cameraView addSubview:gpuImageView];
videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPresetHigh cameraPosition:(usingBackCamera) ? AVCaptureDevicePositionBack : AVCaptureDevicePositionFront];
[videoCamera addTarget:gpuImageView];
[videoCamera addTarget:movieWriter];
videoCamera.audioEncodingTarget = movieWriter;
[videoCamera startCameraCapture];
double delayToStartRecording = 0.5;
dispatch_time_t startTime = dispatch_time(DISPATCH_TIME_NOW, delayToStartRecording * NSEC_PER_SEC);
dispatch_after(startTime, dispatch_get_main_queue(), ^(void){
NSLog(@"Start recording");
[movieWriter startRecording];
});
그리고 라이브 카메라에 GPUImageView
. 표시 계속하는 동안은 (
[movieWriter finishRecording];
다른 사람이 이것을 경험 및/또는 검은 색 프레임을 피하기 위해 해결책을 발견했습니다 다음과 녹음을 중지? 정상적인 사용자 환경을 보장하기 위해 카메라 캡처를 일시 중지/다시 시작할 수 없습니다.