問題はこれです:titleLayer(CATextLayer)を持つAVMutableVideoCompositionがあります。
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];
1つの例外を除いて、すべてが期待どおりに実行されます。
iPhoneシミュレーターで最終結果(ビデオ+タイトル)をプレビューすると、次の出力が得られます。
AVAssetExportSessionを使用してビデオをレンダリングすると、次の出力が得られます(したがって、ビデオラベルは下部にあります)。
誰かがトリックが何であるか知っていますか?私は何が欠けている/間違っているのですか?
ありがとう!