2011-05-07 2 views
0

앱 스토어에 3 개의 카메라 기반 앱 (스틸 사진을 찍는 사진)이 있으며 UIImagePickerController 인터페이스가 매우 느리다는 의견을 받았으며이를 부인할 수 없습니다. 따라서 앱의 성능을 향상시키기 위해 WWDC 2010의 AVCam Demo 소스 코드를 실험하기 시작했습니다.WWDC 2010에서 AVCam 데모 배치

AVFoundation 프레임 워크는 UI Kit와 상호 작용하지 않으므로 주위를 둘러보기에 성공했습니다. 데모. 보기 컨트롤러간에 성공적으로 전환 할 수 있습니다. 내가 수정 한 것은 Record 버튼을 Exit 버튼 (바꿀 뷰 컨트롤러로 나가기)로 대체 한 것입니다.

수정 된 앱은 첫 번째 세션 (래퍼 -> 데모) 중에 정상적으로 작동합니다. 데모를 종료하면 랩퍼로 이동 한 다음 다시 데모로 돌아 오면 미리보기 레이어의 비디오 프레임이 두 번째 또는 두 번 고정됩니다. 앱 자체가 고정되지 않고 비디오 만 고정됩니다. 이 시점에서 모든 UI 버튼이 활성화됩니다. 원래 중복 될 수 없습니다

이 -

작업을 완료 할 수 없습니다 (11800. AVFoundationErrorDomain 오류) : 나는 "정지"버튼을 캡처 이미지를 눌러 때, 나는 경고에 다음과 같은 오류가 데모 코드 - 세션을 닫았다가 다시 열 수 없기 때문입니다. 그래서, 제가 테스트에서 세션에서 나가는 방법과 관련이 있는지 궁금합니다. 데모 코드에 추가 한 "exit"작업은 다음과 같습니다.

- (IBAction)exit:(id)sender 
{ 
    [[self captureManager] stopRecording]; 
    [self dismissModalViewControllerAnimated:YES]; 
} 

이 정도면 충분합니까?

감사합니다.

답변

1

캡쳐 세션을 정돈 된 방식으로 정리하는 데는 약간의 문제가 있습니다. 비동기식 호출이 있기 때문에 캡처가 완료되면 경고가 표시되지 않습니다.

시도를 중지하고이 질문에 제안 발표 : 그건 당신이 여기에 몇 가지 더 많은 코드를 게시해야 할 수 있습니다 도움이되지 않는 경우 How to properly release an AVCaptureSession

(최대 가장 많은 표를 얻은 솔루션을). 그게 전부 네가 바뀌 었 니?

행운을 빈다.

Oded.