0

問題はこれです: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を使用してビデオをレンダリングすると、次の出力が得られます(したがって、ビデオラベルは下部にあります)。

下部にあるHelloビデオラベルに注目してください

誰かがトリックが何であるか知っていますか?私は何が欠けている/間違っているのですか?

ありがとう!

4

1 に答える 1

0

答えはここにあります

AVAssetExportSessionを使用してAVMutableCompositionの上にCALayerを適切にエクスポートする方法

于 2012-08-23T03:08:48.140 に答える