3

我在播放 MPMoviePlayerController 时截取屏幕截图。完美保存屏幕截图,但图像只有黑色。我使用下面的代码。

UIGraphicsBeginImageContext(self.moviePlayerController.view.frame.size);
[self.moviePlayerController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
4

2 回答 2

3

最后我解决了这个问题......我正在使用这个代码......完美工作......谢谢大家......

- (void)captureScreenShot
{
    CGImageRef originalImage = UIGetScreenImage();
    CGImageRef videoImage = CGImageCreateWithImageInRect(originalImage, CGRectMake(0, 66, 320, 230));            
    UIImage *snapShotImage = [UIImage imageWithCGImage:videoImage];
    UIImageWriteToSavedPhotosAlbum(snapShotImage, nil, nil, nil);
    CGImageRelease(originalImage);                
    CGImageRelease(videoImage);  
}
于 2012-06-30T10:13:37.810 回答
0

您可以尝试thumbnailImageAtTime使用MPMoviePlayerController.

UIImage *aThumbnail = [player thumbnailImageAtTime:timeCode timeOption:MPMovieTimeOptionExact];
//timeCode is a time within the video length, for example: 5 seconds.
于 2012-06-29T09:04:42.893 回答