将多个文本添加到AVMutableVideoComposition中
问题描述:
我正在使用AVMutableComposition编写视频。我需要在不同的时间间隔添加文本覆盖。 I,E。将多个文本添加到AVMutableVideoComposition中
- 显示字符串“abc”从0秒到2秒之后隐藏
- 显示字符串“XYZ”从1秒至1.5秒之后隐藏
- 显示字符串“QWE”从2秒至5秒
我正在使用下面的代码来添加文字叠加,但它的静态并保持整个视频。
let parentLayer = CALayer()
parentLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
let videoLayer = CALayer()
videoLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
let subtitleText = CATextLayer()
subtitleText.font = font
subtitleText.frame = CGRect(x: 0, y: 100, width: size.width, height: 50)
subtitleText.string = "hhh"
subtitleText.alignmentMode = kCAAlignmentCenter
subtitleText.foregroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1).cgColor
subtitleText.displayIfNeeded()
parentLayer.addSublayer(videoLayer)
parentLayer.addSublayer(subtitleText)
任何帮助,高度赞赏。
答
如果有人需要回答这个问题,很遗憾,我找不到一个直接的解决方案,所以我做了一个昂贵的工作。
- 根据你的文字的时候修剪您的视频范围
- 将文本添加到修剪视频
- 而那些碎片合并回