AVVideoComposition不';t向视频添加文本-iOS 10.3

AVVideoComposition不';t向视频添加文本-iOS 10.3,ios,swift3,catextlayer,avvideocomposition,Ios,Swift3,Catextlayer,Avvideocomposition,我最近发布了一篇关于导出带有textOverlay的视频的文章(使用AVVideoComposition)。我正在尝试使用以下方法将CATextLayer覆盖应用于swift中的视频: @IBOutlet weak var subTitle1: UITextField! func applyVideoEffectsToComposition(_ composition: AVMutableVideoComposition!, size: CGSize) { //

我最近发布了一篇关于导出带有textOverlay的视频的文章(使用
AVVideoComposition
)。我正在尝试使用以下方法将
CATextLayer
覆盖应用于swift中的视频:

     @IBOutlet weak var subTitle1: UITextField!


    func applyVideoEffectsToComposition(_ composition: AVMutableVideoComposition!, size: CGSize) {

    // 1 - Set up the text layer
      let subTitle1Text =            CATextLayer()
      subTitle1Text.font =           "Helvetica-Bold" as CFTypeRef
      subTitle1Text.frame =          CGRect(x: 0, y: 0, width: size.width, height: 100)
      subTitle1Text.string =         subTitle1.text
 //     subTitle1Text.string =       "Sheep"       ****No subtitle on output video if replace above line  with this one ****

    subTitle1Text.alignmentMode =  kCAAlignmentCenter
    subTitle1Text.foregroundColor = UIColor.white.cgColor

    // 2 - The usual overlay
    let overlayLayer =   CALayer()
    overlayLayer.addSublayer(subTitle1Text)
    overlayLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
    overlayLayer.masksToBounds = true


    // 3 - set up the parent layer
    let parentLayer =   CALayer()
    let videoLayer =    CALayer()
    parentLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
    videoLayer.frame =  CGRect(x: 0, y: 0, width: size.width, height: size.height)

    parentLayer.addSublayer(videoLayer)
    parentLayer.addSublayer(overlayLayer)
    composition.animationTool = AVVideoCompositionCoreAnimationTool(postProcessingAsVideoLayer: videoLayer, in: parentLayer)
}
问题 当我使用
textfield
分配
let subTitle1Text:CATextLayer
时,我会得到所需的带有文本的输出视频。但是,如果我要将
subTitle1Text.string
属性替换为一些静态文本,例如
subTitle1Text.string=“Sheep”
,则字幕上没有任何文本

当我使用
AVPlayer
预览此视频时,我可以在视频上看到预期的文本,但在使用
AVExportSession
保存视频时,没有添加字幕


所以我的问题是,这种异常行为的原因是什么?

我刚刚遇到了同样的问题。你找到正确的解决方案了吗?我刚刚遇到了同样的问题。你找到正确的解决方案了吗?