iOS 直播截屏

目前多数的直播播放是使用openGLES来实现的,使用常用的

   UIWindow *mainWindow = [UIApplication sharedApplication].keyWindow;
   CGContextRef context = UIGraphicsGetCurrentContext();
   CGContextFillRect(context, bounds);
   CGContextTranslateCTM(context, shrinkSize.width, shrinkSize.height);
   [mainWindow.layer renderInContext:context];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();

不能截取播放器播放的画面,只能截取到一块黑屏
目前使用下面的方法可以直接截取

    UIWindow *mainWindow = [UIApplication sharedApplication].keyWindow;
    UIGraphicsBeginImageContextWithOptions(mainWindow.frame.size, NO, 0);
    [mainWindow drawViewHierarchyInRect:mainWindow.frame afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

你可能感兴趣的:(iOS 直播截屏)