如何在iOS上使用AVMutableComposition和CALayers将多个CALayer添加到video文件中

我想按时间顺序依次添加多个CALayer我可以使用此链接在video文件中添加一个图层。 现在我的问题是,如何将多个CALayer添加到video文件。

提前致谢..

最直接的方法是将多个图层打包成单个图层。 你将不得不添加说明来添加它在某些时候,并删除不需要的时候。 像这样的东西:

 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,您希望在某个时候显示/删除CALayer。 你需要明确地调用这个方法两次,一次淡入,第二次出。 让我知道如果你有更好的解决scheme! 🙂 PS只是注意到这是一个非常古老的问题!