问题是:我有一个AVMutableVideoComposition,它有一个titleLayer(CATextLayer)。
我想使用AVPlayerLayer和AVSynchronizedLayer向用户显示包含此标题的预览。我设置了这样的图层:
- (CATextLayer*)buildTitleLayer {
CATextLayer *titleLayer = [CATextLayer layer];
// titleLayer.font = @"Helvetica";
titleLayer.fontSize = 15.0;
//?? titleLayer.shadowOpacity = 0.5;
titleLayer.backgroundColor = [UIColor blackColor].CGColor;
titleLayer.alignmentMode = kCAAlignmentCenter;
titleLayer.frame = CGRectMake(0, 0, _videoSize.width, _videoSize.height / 6); //You may need to adjust this for proper display
return titleLayer;
}
当我设置合成时,我这样做:
[compositionVideoTrack setPreferredTransform:clipVideoTrack.preferredTransform];
一切都按预期运行,但有一个例外:
当我在iPhone模拟器中预览最终结果(视频+标题)时,我得到了这个输出:
当我使用AVAssetExportSession渲染视频时,我得到此输出(因此视频标签位于底部):
有谁知道诀窍是什么?我错过了什么/做错了什么?
谢谢!
答案 0 :(得分:0)