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

2024-03-27

我想添加多个CALayer按时间顺序一个接一个。我可以使用此链接向视频文件添加一层Here https://stackoverflow.com/q/5997677/1450762。现在我的问题是如何添加多个CALayer到视频文件。

提前致谢..


最直接的方法是将多个层捆绑为单个层。您必须添加说明以在某个时候添加它并在不需要时删除它。像这样的东西:

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 只是注意到这是一个非常老的问题!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐