Я пытаюсь экспортировать несколько диапазонов с различными диапазонами шкалы в iOS. Как 2 секунды медленно, 3 секунды - быстрое движение. Но в сеансе экспорта, если я пойду на несколько диапазонов, чем всегда не удалось с высоким разрешением. Если я буду экспортировать с низким разрешением, чем он экспортирует. Вот мой код
for i in 0..<arrRanges.count{
let startTime = self.arrRanges[i]["startTime"]
let speed = self.arrRanges[i]["speed"]
var endTime = self.arrRanges[i]["endTime"]
if i == self.arrRanges.count - 1{
endTime = Double(CMTimeGetSeconds((compositionVideoTrack?.timeRange.duration)!))
}else{
let nextStartTime = self.arrRanges[i+1]["startTime"]
endTime = nextStartTime! - 0.1
}
let cduration = endTime! - startTime!
let customScaleTime = CMTimeMakeWithSeconds(cduration * speed!, asset.duration.timescale)
compositionVideoTrack?.scaleTimeRange(CMTimeRangeMake(CMTimeMakeWithSeconds(startTime!, asset.duration.timescale), CMTimeMakeWithSeconds(cduration, asset.duration.timescale)), toDuration: customScaleTime)
if compositionAudioTrack != nil{
compositionAudioTrack?.scaleTimeRange(CMTimeRangeMake(CMTimeMakeWithSeconds(startTime!, asset.duration.timescale), CMTimeMakeWithSeconds(cduration, asset.duration.timescale)), toDuration: customScaleTime)
}
}
Если я сделаю единственное замедленное движение для полного диапазона, чем оно работает с высоким разрешением. Что не так с моим кодом здесь?
Даже в доступных пресетах он дает мне все разрешения
let compatiblePresets = AVAssetExportSession.exportPresets(compatibleWith: mixComposition)