Нужно ли обновлять все последующие дорожки в изменяемой композиции, если дорожка удалена?

Чтобы добавить диапазон времени в AVMutableCompositionTrack, вы должны указать время начала в дорожке (at:)...

  try track?.insertTimeRange(CMTimeRangeMake(start: CMTime.zero,
                                             duration: CMTime(seconds: 2, preferredTimescale: CMTimeScale(1))),
                             of: asset.tracks(withMediaType: .video)[0],
                             at: composition.duration)

Допустим, у меня есть несколько треков в изменяемой композиции, так что их временные диапазоны воспроизводятся в последовательности без пробелов. Если я удалю, скажем, второй трек, то нужно ли вручную обновлять время начала всех следующих треков? Точно так же все инструкции трека тоже нужно обновлять? Или есть способ сделать так, чтобы это происходило автоматически?


person Ian Warburton    schedule 06.06.2020    source источник


Ответы (1)


Треки не похожи на четки, когда вы берете несколько семян, другие автоматически меняются, да, вам нужно обновлять время вручную в изменяемой композиции и инструкциях.

person Sh_Khan    schedule 06.06.2020
comment
Это звучит как много работы. Возможно, стоит сохранить отдельную структуру данных, которая действует как четки, а затем обновлять ее оттуда. - person Ian Warburton; 06.06.2020