AVFoundation Framework를 사용하여 비디오 축소판을 만들려고합니다. 나는 제대로 여기 썸네일을 생성하는 코드가 추가 #import <AVFoundation/AVFoundation.
를 가져온 :ld : 아키텍처 i386에 대한 기호가 없습니다. AVFoundation을 사용하는 동안 오류가 발생했습니다.
AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:[NSURL URLWithString:moviePath] options:nil];
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform=TRUE;
CMTime thumbTime = CMTimeMakeWithSeconds(0,30);
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
if (result != AVAssetImageGeneratorSucceeded) {
NSLog(@"couldn't generate thumbnail, error:%@", error);
}
[imageButton setImage:[UIImage imageWithCGImage:im] forState:UIControlStateNormal];
//UIImage *thumbImg=[UIImage imageWithCGImage:im];
};
CGSize maxSize = CGSizeMake(320, 180);
generator.maximumSize = maxSize;
[generator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:thumbTime]] completionHandler:handler];
내가 이것을 만들 때, 나는 다음과 같은 오류 얻을 : 나는 구글과에 비슷한 질문을 검토 한
Undefined symbols for architecture i386:_CMTimeMakeWithSeconds", referenced from:
-[photojournal generateImage] in photojournal.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
을 여기에 스택 오버플로, 그리고 합의가 소스를 컴파일 누락 된 파일을 추가하는 것 같다. 내 질문은 - AVFoundation에 대해 누락 된 파일은 무엇입니까? 프레임 워크를 가져올 때 모두 와야하지 않습니까? 감사.
당신은 당신의 프로젝트에 코어 미디어 프레임 워크를 추가 할 필요가
예 빌드 단계에서 "라이브러리와 바이너리 링크"뿐 아니라 가져 오기 문도 필요합니다. 프레임 워크를 추가하면 어떤 자동이되어야합니다 –
그건 내가 생각한거야. 그렇다면 _CMTimeMakeWithSeconds를 인식하지 못하는 이유는 무엇입니까? 이 줄을 주석 처리하면 응용 프로그램이 올바르게 컴파일됩니다. 장치 또는 시뮬레이터에서 – Kwame
테스트? – scorpiozj