我正在尝试在iPhone上显示全屏视频,并用OpenGL ES视图覆盖它。因此,基本上,我希望视频在后台播放,同时在其顶部绘制OpenGL图形。

我如何做到这一点,甚至有可能吗?

谢谢你的帮助!

弗洛里安

最佳答案

要使用自定义叠加视图显示摄像机视频背景,可以使用UIImagePickerController的cameraOverlayView属性。 cameraOverlayView将显示在默认图像选择器界面的顶部。使用cameraViewTransform属性使摄像机预览全屏。

imagePickerController.cameraViewTransform =
CGAffineTransformMakeScale(1.0, 1.03);


要将UIView子类实现为支持OpenGL ES渲染的覆盖视图,请查看Apple的示例代码http://developer.apple.com/iphone/library/samplecode/GLGravity/Listings/Classes_GLGravityView_m.html

关键是使叠加视图透明。

overlayView.opaque = NO;
overlayView.alpha = 1.0;
overlayView.backgroundColor = [UIColor clearColor];


在OpenGL ES渲染代码中,请确保使用零alpha清除颜色。

glClearColor(0,0,0,0) ;

10-08 11:46