0
Наверное, я что-то пропустил. У меня есть ползунок, который изменяет продолжительность актива и время начала. Если я буду экспортировать видео с полной продолжительности, аЭкспорт видео с пользовательским выпуском CMTimeRange
let timeRange = originalVideoTrack.timeRange
do {
try videoTrack.insertTimeRange(timeRange, ofTrack: originalVideoTrack, atTime: kCMTimeZero)
} catch {
}
Все работает. Но если я пытаюсь вставить свой собственный срок, а
let startTime = CMTimeMake(Int64(CMTimeGetSeconds(videoRangeSlider.timeRange.start) * 1000) , 1000)
let dura = CMTimeGetSeconds(videoRangeSlider.timeRange.end) - CMTimeGetSeconds(videoRangeSlider.timeRange.start)
let duration = CMTimeMake(Int64(dura * 1000) , 1000)
t timeRange = CMTimeRangeMake(startTime,duration)
originalVideoTrack.timeRange
do {
try videoTrack.insertTimeRange(timeRange, ofTrack: originalVideoTrack, atTime: timeRange.start)
} catch {
print("problem")
}
Я изменил atTime
к kCGTimeZero, а также, не будет работать
Есть предложения?
Обновление
Пример TimeRange
CMTimeRange(start: __C.CMTime(value: 2216, timescale: 1000, flags: __C.CMTimeFlags(rawValue: 1), epoch: 0), duration: __C.CMTime(value: 2880, timescale: 1000, flags: __C.CMTimeFlags(rawValue: 1), epoch: 0))
ли '' videoRangeSlider.timeRange.start' типа CMTime'? –
@ J.Wang Hey Wang, да, это так. –
Тогда вы можете использовать его прямо в 'atTime' праве? А также вы можете использовать 'CMTimeSubtract', чтобы получить продолжительность двух« CMTime ». –