2012-02-26 2 views
4

iOS 4.3 & 동영상을 재생하는 UIView의 스크린 샷을 찍으려고합니다. 문제는 (시뮬레이터의) 스크린 샷이 단순히 내가 바라는 영화 이미지가 아닌 검은 색 배경 인 &으로 밝혀 졌다는 것입니다. 내 코드는 아래에 있습니다. 아이디어는 무엇일까요? 덕분에 사전에 :)iOS에서 UIView의 스크린 샷 찍기

- (void) takeScreenshot; 
{ 

    UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0.0); 
    [self.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    UIImageView *movieImage = [[UIImageView alloc] initWithImage:screenshot]; 
    [self addSubview:movieImage]; 

} 
+0

: 사람을 도움이

UIImage *image = [moviePlayer thumbnailImageAtTime:moviePlayer.currentPlaybackTime timeOption:MPMovieTimeOptionNearestKeyFrame]; 

희망 :

그러나 (현재 재생 시간을 아래 그림 참조) 동영상의 썸네일을 할 수있는 방법이 movieplayer view 대신에 self.layer의 스크린 샷을 찍었 기 때문에 문제가'[self.layer renderInContext : UIGraphicsGetCurrentContext()];에있을 수 있습니다. – 0xDE4E15B

+1

동영상보기가 OpenGL 레이어를 사용하여 동영상을 그리기 때문에 작동하지 않을 것으로 예상됩니다. – joerick

답변

2

나는 결국이 문제에 대한 해결책을 발견 - joerick로 한 영화가 비디오를 그리는는 OpenGL 층을 사용으로 (renderInContext를 사용하여) 화면을 캡처 할 수 없습니다 위에서 언급 한. 이 내가 잘 모르겠지만, 당신을

+0

실제 스크린 샷을 찍을 방법이 없습니까? OpenGL에 대한 지식이 매우 부족하지만 [Apple Doc] (http://developer.apple.com/library/ios/#qa/qa1704/_index.html)에는 스크린 샷을 찍을 수있는 코드가 있습니다. 나는이 코드를 컴파일 할 수 없다. – msk