Я пытаюсь обрезать существующий видеоролик и повторно сохранять клип в том же месте, что и исходный файл. Однако, когда я запускаю мое приложение, я получаю эту ошибку:Ошибка экспорта видеоролика: «Неверный тип выходного файла» в объекте-c
Нагрузочное приложение из-за неперехваченное исключение «NSInvalidArgumentException», причина: «Недопустимый типа выходного файла»
я нашел рекомендацию, но они требуют от меня, чтобы изменить outputfiletype от AVMediaTypeVideo. Я хотел бы сохранить AVMediaTypeVideo, потому что это то, что оригинальный видеофайл сохраняется.
Это то, что я до сих пор:
AVMutableComposition *finalClip = [[AVMutableComposition alloc]init];
NSString *outputPath = [[NSString alloc] initWithFormat:@"%@%@", NSTemporaryDirectory(), @"output.mov"];
NSURL *outputURL = [[NSURL alloc] initFileURLWithPath:outputPath];
AVURLAsset *videoclip = [AVURLAsset URLAssetWithURL:outputURL options:nil];
AVMutableCompositionTrack *finalClipTrack = [finalClip addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
[finalClipTrack insertTimeRange:CMTimeRangeMake(CMTimeMake((duration*indexNum), 1), CMTimeMake(duration,1)) ofTrack:[[videoclip tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:kCMTimeZero error:nil];
NSString *outputPathwe = [[NSString alloc] initWithFormat:@"%@%@", NSTemporaryDirectory(), @"outputwe.mov"];
NSURL *outputURLwe = [[NSURL alloc] initFileURLWithPath:outputPathwe];
if ([[NSFileManager defaultManager] fileExistsAtPath:outputPathwe])
[[NSFileManager defaultManager] removeItemAtPath:outputPathwe error:nil];
AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset:finalClip presetName:AVAssetExportPresetHighestQuality];
exporter.outputFileType = AVMediaTypeVideo;
exporter.outputURL=outputURLwe;
[exporter exportAsynchronouslyWithCompletionHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
[self exportDidFinish:exporter];
});
}];
Я чувствую, что это что-то очень простое, что я просто не хватает. Это мой первый опыт использования AVFoundation, поэтому любая помощь будет оценена!
Благодарим вас за разъяснение этого для меня! – kkimble006