【问题标题】:How to add multiple CALayer to a video file using AVMutableComposition and CALayers on iOS如何在 iOS 上使用 AVMutableComposition 和 CALayers 将多个 CALayer 添加到视频文件
【发布时间】:2012-07-16 00:16:02
【问题描述】:

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

提前谢谢..

【问题讨论】:

  • 有什么方法可以添加多层。我想添加第一层 5 秒,5 秒后我想添加另一层 10 秒并删除第一层...
  • 我在这里遇到了同样的问题,在视频文件上添加多个 CALayers,你有什么想法吗?

标签: iphone ios avfoundation calayer


【解决方案1】:

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

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(为什么?)),它不会淡入淡出,只是简单地剪切)。 layer 是您希望在某个时候显示/删除的 CALayer。您显然需要调用此方法两次,一次用于淡入,第二次用于淡出。如果您有更好的解决方案,请告诉我! :) ps 只是注意到这是一个非常古老的问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多