我有AVComposition
包含多个视频和音频曲目。到目前为止,它是纯编程的,没有GUI。我希望用户能够通过单击按钮来向后或向后推动一个轨道。例如:一个标题为" -10帧"将一条轨道推回10帧,而#34; +10帧"向前推10帧。在使用insertTimeRange:ofTrack:atTime:
添加曲目后,我无法找到实际移动曲目的任何方法。
我尝试将其删除并重新添加,如下所示:
[secondAudioTrack removeTimeRange:CMTimeRangeMake(kCMTimeZero, kCMTimeIndefinite)];
[secondAudioTrack insertTimeRange:range ofTrack:[[secondAsset tracksWithMediaType:AVMediaTypeAudio] firstObject] atTime:newTime error:nil];
到目前为止它实际上并没有移动(尽管我可能做错了),但我觉得这样做是如此糟糕。任何人都知道一种正确的方式给予是AVComposition
已添加曲目的新时间?
答案 0 :(得分:0)
我不认为有。在涉及视频合成之前,应该计划完整的视频。让用户仅提供信息,保存,然后仅在您拥有来自用户的足够信息时运行视频合成。每次都要开始清洁。您永远不必更改AVMutableCompositionTrack中的时间范围。