0

我正在使用AVMutableComposition編寫視頻。我需要在不同的時間間隔添加文本覆蓋。 I,E。將多個文本添加到AVMutableVideoComposition中

  1. 顯示字符串「abc」從0秒到2秒之後隱藏
  2. 顯示字符串「XYZ」從1秒至1.5秒之後隱藏
  3. 顯示字符串「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) 

任何幫助,高度讚賞。

回答

0

如果有人需要回答這個問題,很遺憾,我找不到一個直接的解決方案,所以我做了一個昂貴的工作。

  • 根據你的文字的時候修剪您的視頻範圍
  • 將文本添加到修剪視頻
  • 而那些碎片合併回