我用蓝屏录制了一段视频.我们有将该视频转换为透明背景的软件.在自定义UIView上覆盖这个视频的最佳方式是什么?每当我在iPhone上看到视频时,它总会启动该播放器界面.有什么办法可以避免这个吗
不知道除了我之外是否还有人对此感兴趣,但我正在使用GPUImage和Chromakey过滤器来实现这一点^^ https://github.com/BradLarson/GPUImage
编辑:我所做的示例代码(现在可能已过时):
-(void)AnimationGo:(GPUImageView*)view {
NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"mov"];
movieFile = [[GPUImageMovie alloc] initWithURL:url];
filter = [[GPUImageChromaKeyBlendFilter alloc] init];
[movieFile addTarget:filter];
GPUImageView* imageView = (GPUImageView*)view;
[imageView setBackgroundColorRed:0.0 green:0.0 blue:0.0 alpha:0.0];
imageView.layer.opaque = NO;
[filter addTarget:imageView];
[movieFile startProcessing];
//to loop
[imageView setCompletionBlock:^{
[movieFile removeAllTargets];
[self AnimationGo:view];
}];
}
Run Code Online (Sandbox Code Playgroud)
我可能不得不稍微修改一下GPUImage,它可能不适用于最新版本的GPUImage,但这就是我们使用的
小智 0
避免使用播放器界面的唯一方法是推出自己的视频播放器,这很难做到正确。您可以在播放器界面顶部插入自定义叠加层,使其看起来像用户仍在您的应用程序中,但您实际上无法控制视图。您可能想尝试在播放器界面中播放透明视频,看看它是否显示为透明。查看播放器中是否有背景颜色的属性。您也希望将其设置为透明。
- 麦克风
归档时间: |
|
查看次数: |
11576 次 |
最近记录: |