2014-10-04 3 views
0

GPUImage 프레임 워크를 IOS 프로젝트에 추가하는 데 많은 시간이 소요되고 있습니다. 이제 저는 Sunset Lake Software 페이지에서 라이브 비디오 코드를 필터링하는 예제를 시도하고 있습니다. 응용 프로그램은 다음과 같은 빨간색 오류로 구축 실패 thresholdfFilter 'IOS 8.0.2과 아이 패드에 엑스 코드 6.0.1 및 테스트 응용 프로그램을 사용IOS 프로젝트에 GPUImage 프레임 워크 추가

GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack]; 
GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"]; 
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 768, 1024)]; 


// problem here 
[videoCamera addTarget:thresholdFilter]; 

[customFilter addTarget:filteredVideoView]; 

[videoCamera startCameraCapture]; 

'선언되지 않은 사용 '- 필요한 경우, 내가 게시 할 수있는 스크린 샷을 어떻게 프레임 워크를 emdedded.

+0

CocoaPod를 사용해 보셨습니까? – AdamPro13

+0

@ 아담 - 환상적! 저를 CocoaPods에 소개시켜 주셔서 감사합니다. 이제 GPUImage를 설치하고 아무 문제없이 실행할 수 있습니다. 다른 사람들에게 내가 발견 한 위대한 youTube 튜토리얼 - http://www.youtube.com/watch?v=9_FbAlq2g9o. 다시 한번 감사드립니다. – pete

+0

전혀 문제가 없습니다. CocoaPod가 내 삶을 변화시킨 것을 발견 한 날. – AdamPro13

답변

0

먼저 프레임 워크를 알리는 블로그 게시물에 작성된 코드는 프레임 워크의 최신 버전에서 사용하도록 복사해서는 안됩니다. 초기 게시물은 2 년 전에 작성되었으며 API의 현재 상태를 반영하지 않습니다. 사실, 나는 원래의 게시물에서 그 코드를 모두 지우고 사람들에게 GitHub 페이지의 지시 사항을 알려주었습니다. 알림 주셔서 감사.

두 번째로 위에서 설명한 문제는 thresholdFilter이라는 변수를 정의하지 않고이 변수를 사용하려고한다는 것입니다. 이것은 프레임 워크에 문제가되지 않습니다. 컴파일러는 여러분이 무엇을 언급하고 있는지 전혀 모릅니다.

세 번째로, 위의 코드는 다른 이유로 작동하지 않습니다. 즉, 카메라 인스턴스를 잡고 있지 않습니다. 캡슐화 클래스의 인스턴스 변수에 할당하는 대신 로컬로 정의하고 있습니다. 이렇게하면 위의 설정 방법이 완료 되 자마자 ARC가 해당 카메라의 할당을 해제하여 검은 색 화면이나 충돌로 이어집니다. 인스턴스 변수 나 속성을 만들고 카메라에 할당하여 강력한 참조를 만들어야합니다.

관련 문제