Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在视频上添加更改的时间戳_Ios_Video_Avfoundation - Fatal编程技术网

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];
谁能帮我一下,让我知道我做错了什么?或者有什么方法可以实现我想要的(在视频上添加时间戳)

编辑


我可以导出视频,我的问题是,在导出的视频上,我想添加随时间变化的文本,但我无法使用上述代码获得这些文本。

感谢您的时间,此问题显示了如何获取视频的日期和时间。我想做的是在视频上添加一个日期时间层。所以当用户以后播放那个视频时,他可以看到视频上的日期。希望我能解释我的问题。实现这一点没有简单的方法。