Tengo una aplicación que permite a un usuario grabar un video en una composición mutable. Me gustaría establecer un texto que aparecerá y luego cambiar en un intervalo que establezco cuando el usuario lo reproduce después de una exportación.Crear un CATextlayer que cambie en un intervalo en una composición de video AVMutable
Por ejemplo, si la primera palabra es "perro", me gustaría configurarla para que "gato" reemplace esa cadena X segundos más tarde, y luego se reemplaza con otra palabra X segundos más tarde.
Mi video se exporta desde una AVMutableComposition usando AVExportSession y mis palabras se añadirá utilizando un CATextlayer añadido a la misma, así:
//code to setup AVMutableComposition
...
//code to setup CATextLayer and AVMutableVideoComposition
CALayer *animatedTitleLayer = [CALayer layer];
CATextLayer *titleLayer = [[CATextLayer alloc] init];
titleLayer.string = @"Text I want to change at an interval";
titleLayer.alignmentMode = kCAAlignmentCenter;
titleLayer.bounds = CGRectMake(150, 50, 124, 354);
titleLayer.position = CGPointMake(120, 270);
titleLayer.bounds = CGRectIntegral(CGRectMake(0, 0, 250, 150));
titleLayer.opacity = 1;
titleLayer.backgroundColor = [UIColor purpleColor].CGColor;
[animatedTitleLayer addSublayer:titleLayer];
animatedTitleLayer.position = CGPointMake(40, 5);
CALayer *parentLayer = [CALayer layer];
CALayer *videoLayer = [CALayer layer];
parentLayer.frame = CGRectMake(0, 0, 320, 480);
videoLayer.frame = CGRectMake(0, 0, 320, 480);
[parentLayer addSublayer:videoLayer];
[parentLayer addSublayer:animatedTitleLayer];
parentLayer.preferredTransform = rotationTransform;
AVMutableVideoComposition *videoComposition;
videoComposition = [AVMutableVideoComposition videoComposition];
videoComposition.animationTool = [AVVideoCompositionCoreAnimationTool videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
//code to setup AVExportSession
...
Mi pregunta es: ¿Cómo puedo hacer el cambio de texto a un intervalo que configuro las cadenas que designo?
Cualquier sugerencia sería muy apreciada.
¿Tienes alguna ayuda? descubrió la respuesta? –