0

我有在 iPhone 的视频编辑器中的 AVMutableCompositionTrack 中添加多个片段的功能。我正在使用以下方法

[self.compositionVideoOneTrack insertTimeRange:video_timeRange ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:CMTimeMakeWithSeconds(videoSegmentData.startTime, VIDEO_TIME_SCALE) error:nil];

一切正常。现在,我需要增加 compositionTrack 中每个已添加段的 startTime。到目前为止,我没有发现任何机制,只能删除所有段并从头开始在新位置重写它们。

  • 我试图在 compositionTrack 中获取所有 AVCompositionTrackSegment 并更改目标的 startTime 但它是不可分配的。
  • 我努力了[self.compositionVideoOneTrack removeTimeRange:videoSegmentData.videoTimeRange];

删除一个段,然后将其重新插入到合适的位置。但是这个调用使删除段旁边的所有段向左移动。位于良好位置的插入与向左移动的段重叠。

期待解决方案。

4

1 回答 1

0

我们做类似的操作。我们的解决方案是创建我们自己的自定义类,在其中我们操作所有内容,直到我们满意它在正确的位置,然后在构建视频之前,一旦位置“锁定”,我们将其全部添加到 AVMutableCompositionTrack。

于 2016-02-17T18:12:33.180 回答