Вопрос по ios, iphone – Создание временного диапазона для AVAssetExportSession

5

Мне было интересно, как сделать диапазон времени дляAVAssetExportSession из отметок времени, таких как:

NSTimeInterval start = [[NSDate date] timeIntervalSince1970];
NSTimeInterval end = [[NSDate date] timeIntervalSince1970];

Код, который я использую для моей сессии экспорта, выглядит следующим образом:

AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];

exportSession.outputURL = videoURL;
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
exportSession.timeRange = CMTimeRangeFromTimeToTime(start, end);

Спасибо за вашу помощь!

Ваш Ответ

1   ответ
12

timeRange вAVAssetExportSession позволяет вам выполнить частичный экспорт актива, указав, с чего начать и с какой продолжительности. Если он не указан, он будет экспортировать все видео, другими словами, он начнется с нуля и будет экспортировать общую продолжительность.

И начало, и продолжительность должны быть выражены какCMTime.

Например, если вы хотите экспортировать первую половину актива:

CMTime half = CMTimeMultiplyByFloat64(exportSession.asset.duration, 0.5);
exportSession.timeRange = CMTimeRangeMake(kCMTimeZero, half);

или вторая половина:

exportSession.timeRange = CMTimeRangeMake(half, half);

или 10 секунд в конце:

CMTime _10 = CMTimeMakeWithSeconds(10, 600);
CMTime tMinus10 = CMTimeSubtract(exportSession.asset.duration, _10);
exportSession.timeRange = CMTimeRangeMake(tMinus10, _10);

ПроверьтеCMTime Ссылка на другие способы расчета точного времени вам нужно.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded user1273431

Похожие вопросы