Ios 在视频上添加更改的时间戳
我试图在每秒钟都在变化的视频上添加时间戳。我已经搜索了很多,但没有找到任何完美的解决方案或方法 我第一次尝试使用此代码添加文本,但使用此代码时,字符串保持静态,不会更改Ios 在视频上添加更改的时间戳,ios,video,avfoundation,Ios,Video,Avfoundation,我试图在每秒钟都在变化的视频上添加时间戳。我已经搜索了很多,但没有找到任何完美的解决方案或方法 我第一次尝试使用此代码添加文本,但使用此代码时,字符串保持静态,不会更改 CALayer *overlayLayer1 = [CALayer layer]; CATextLayer *subtitle1Text1 = [[CATextLayer alloc] init]; [subtitle1Text1 setFont:@"Helvetica-Bold"]; [subtitle1Text1 setFo
CALayer *overlayLayer1 = [CALayer layer];
CATextLayer *subtitle1Text1 = [[CATextLayer alloc] init];
[subtitle1Text1 setFont:@"Helvetica-Bold"];
[subtitle1Text1 setFontSize:36];
[subtitle1Text1 setFrame:CGRectMake(0, 100, size.width, 100)];
dt = [[NSDateFormatter alloc]init];
[dt setDateFormat:@"HH:mm:ss"];
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:10];
[subtitle1Text1 setString:[dt stringFromDate:date1]];
[subtitle1Text1 setAlignmentMode:kCAAlignmentCenter];
[subtitle1Text1 setForegroundColor:[[UIColor whiteColor] CGColor]];
[overlayLayer1 addSublayer:subtitle1Text1];
overlayLayer1.frame = CGRectMake(0, 0, size.width, size.height);
[overlayLayer1 setMasksToBounds:YES];
CALayer *parentLayer = [CALayer layer];
CALayer *videoLayer = [CALayer layer];
parentLayer.frame = CGRectMake(0, 0, size.width, size.height);
videoLayer.frame = CGRectMake(0, 0, size.width, size.height);
[parentLayer addSublayer:videoLayer];
[parentLayer addSublayer:overlayLayer];
[parentLayer addSublayer:overlayLayer1];
composition.animationTool = [AVVideoCompositionCoreAnimationTool
videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
然后,我尝试使用下面的代码添加动画层,但有些人认为它不起作用
CATextLayer *overlayLayer1 = [CATextLayer layer];
CABasicAnimation *textanim = [CABasicAnimation animationWithKeyPath:@"content"];
textanim.duration = 1.0;
textanim.fromValue = @"Hey";
textanim.toValue = @"Hello";
textanim.beginTime = AVCoreAnimationBeginTimeAtZero;
textanim.removedOnCompletion = NO;
textanim.fillMode = kCAFillModeForwards;
[overlayLayer1 addAnimation:textanim forKey:@"contentAnimate"];
CALayer *parentLayer = [CALayer layer];
CALayer *videoLayer = [CALayer layer];
parentLayer.frame = CGRectMake(0, 0, size.width, size.height);
videoLayer.frame = CGRectMake(0, 0, size.width, size.height);
[parentLayer addSublayer:videoLayer];
[parentLayer addSublayer:overlayLayer1];
[parentLayer addSublayer:overlayLayer2];
composition.animationTool = [AVVideoCompositionCoreAnimationTool
videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
谁能帮我一下,让我知道我做错了什么?或者有什么方法可以实现我想要的(在视频上添加时间戳)
编辑
我可以导出视频,我的问题是,在导出的视频上,我想添加随时间变化的文本,但我无法使用上述代码获得这些文本。感谢您的时间,此问题显示了如何获取视频的日期和时间。我想做的是在视频上添加一个日期时间层。所以当用户以后播放那个视频时,他可以看到视频上的日期。希望我能解释我的问题。实现这一点没有简单的方法。