Iphone MPMoviePlayerController拍摄屏幕快照但仅显示黑屏

Iphone MPMoviePlayerController拍摄屏幕快照但仅显示黑屏,iphone,Iphone,我在播放MPMoviePlayerController时拍摄了屏幕截图。完全保存了屏幕截图,但图像仅为黑色。我使用以下代码 UIGraphicsBeginImageContext(self.moviePlayerController.view.frame.size); [self.moviePlayerController.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraph

我在播放MPMoviePlayerController时拍摄了屏幕截图。完全保存了屏幕截图,但图像仅为黑色。我使用以下代码

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

您可以尝试使用MPMoviePlayerController的
thumbnailImageAtTime
方法

UIImage *aThumbnail = [player thumbnailImageAtTime:timeCode timeOption:MPMovieTimeOptionExact];
//timeCode is a time within the video length, for example: 5 seconds.

最后我解决了这个问题…我正在使用这个代码…完美地工作…感谢所有

- (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);  
}

谢谢…但是什么都没有发生UIGraphicsBeginImageContext(self.moviePlayerController.view.frame.size);[self.moviePlayerController.view.layer renderContext:UIGraphicsGetCurrentContext()];UIGraphicsSendImageContext();UIImage*aThumbnail=[self.moviePlayerController缩略图图像时间:0时间选项:MPMovieTimeOptionExact];UIImageWriteToSavedPhotosAlbum(无,无,无,无);我用这条线。