5

複数のビデオ クリップを使用して AVMutableComposition を正常に構成し、それを表示およびエクスポートできます。また、クロスフェードを使用してそれらの間を移行できるようにしたいので、AVMutableVideoComposition を使用したいと考えています。いくつかの AVAsset ビデオを連続して並べて再生する方法の例も見つかりません。AVMutableComposition の insertTimeRange と同等の方法で AVMutableVideoComposition にトラックを追加する方法、またはクロスフェードを設定する方法の例はありますか?

[self.composition insertTimeRange:CMTimeRangeMake(kCMTimeZero,asset.avAsset.duration)
                                         ofAsset:asset.avAsset
                                          atTime:self.composition.frameDuration
                                           error:nil]
4

1 に答える 1

13

Apple の WWDC 2010 サンプル コードから AVEditDemo という例を見つけました。

https://developer.apple.com/library/ios/samplecode/AVCustomEdit/Introduction/Intro.html

サンプルには多くの詳細がありますが、要約すると、AVMutableComposition と AVMutableVideoComposition の両方を使用する必要があります。単純な insertTimeRange を使用する代わりに、AVMutableComposition にトラックを個別に追加します。これにより、トラックに重複する時間を設定できるようになります。トラックは、不透明度ランプを使用して AVMutableVideoCompositionLayerInstructions として AVMutableVideoComposition に追加する必要もあります。最後に、AVPlayer で再生するには、AVMutableComposition と AVMutableVideoComposition の両方を使用して AVPlayerItem を作成する必要があります。

API の各レベルを深くするように見えます。この場合、アセットを持つ MPMoviePlayer から、AVComposition を持つ AVPlayer、そして最後に AVVideoComposition に至るまで、必要なコーディングが指数関数的に増加します。

于 2010-09-30T17:43:59.990 に答える