如何使用iOS上的AVMutableComposition和CALayers将多个CALayer添加到视频文件中

时间:2012-07-17 05:11:45

标签: iphone ios avfoundation calayer

我希望按时间顺序逐个添加多个CALayer。我可以使用此链接Here将一个图层添加到视频文件中。现在我的问题是如何将多个CALayer添加到视频文件中。

提前致谢..

1 个答案:

答案 0 :(得分:0)

最直接的方法是将多个图层捆绑成单个图层。您必须添加指令以在某个时刻添加它,并在不需要时删除。像这样:

CABasicAnimation *fadeAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeAnimation.fromValue = [NSNumber numberWithFloat:(float)!fadeIsIn];
fadeAnimation.toValue = [NSNumber numberWithFloat:(float)fadeIsIn];
fadeAnimation.additive = NO;
fadeAnimation.removedOnCompletion = NO;
fadeAnimation.beginTime = atTime;
fadeAnimation.duration = duration;
fadeAnimation.fillMode = kCAFillModeBoth;
[layer addAnimation:fadeAnimation forKey:nil];

在此示例中,您可以执行淡入/淡出(1.0开始,0.0基本上为淡出)。 atTime是你希望这个图层开始显示/删除的时间,持续时间是淡入淡出持续时间(所以如果一些小数字0.0001(从未尝试过0.0(为什么?)),它将不会消失但只是简单的切割)。图层是您希望在某个时刻显示/删除的CALayer。你需要两次调用这个方法,一次用于淡入,第二次用于输出。如果你有更好的解决方案,请告诉我! :) ps只是注意到这是一个非常古老的问题!