iPhone 用のビデオ エディターで、AVMutableCompositionTrack に複数のセグメントを追加する機能があります。私は次の方法を使用しています
[self.compositionVideoOneTrack insertTimeRange:video_timeRange ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:CMTimeMakeWithSeconds(videoSegmentData.startTime, VIDEO_TIME_SCALE) error:nil];
すべて正常に動作します。ここで、compositionTrack に既に追加されている各セグメントの startTime をインクリメントする必要があります。これまでのところ、すべてのセグメントを削除して最初から新しい位置に書き直す以外にメカニズムは見つかりませんでした。
- composerTrack 内のすべての AVCompositionTrackSegment を取得し、ターゲットの startTime を変更しようとしましたが、割り当てられません。
- 私が試してみました
[self.compositionVideoOneTrack removeTimeRange:videoSegmentData.videoTimeRange];
セグメントを削除してから、適切な位置に再度挿入します。ただし、この呼び出しにより、削除されたセグメントの隣にあるすべてのセグメントが左に移動します。適切な位置にあるインサートは、左に移動したセグメントと重なっています。
解決策を楽しみにしています。