剪視頻

NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:self.asset];

? ? if ([compatiblePresets containsObject:AVAssetExportPresetMediumQuality]) {

? ? ? ? self.exportSession = [[AVAssetExportSession alloc] initWithAsset:self.asset presetName:AVAssetExportPresetPassthrough];

? ? ? ? NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

? ? ? ? formatter.dateFormat = @"yyyyMMddHHmmss";

? ? ? ? NSString *str = [formatter stringFromDate:[NSDate date]];

? ? ? ? NSString *videoPath =? [NSTemporaryDirectory() stringByAppendingFormat:@"%@.mp4",str];

?? ? ? ?NSURL *furl = [NSURL fileURLWithPath:videoPath];

? ? ? ? self.exportSession.outputURL = furl;

? ? ? ? self.exportSession.outputFileType = AVFileTypeQuickTimeMovie;

? ? ? ? CMTime start = CMTimeMakeWithSeconds(self.startTime, self.asset.duration.timescale);

? ? ? ? CMTime duration = CMTimeMakeWithSeconds(self.stopTime - self.startTime, self.asset.duration.timescale);

? ? ? ? CMTimeRange range = CMTimeRangeMake(start, duration);

? ? ? ? self.exportSession.timeRange = range;

?? ? ? ?[self.exportSession exportAsynchronouslyWithCompletionHandler:^{

? ? ? ? ? ? switch ([self.exportSession status]) {

?? ? ? ? ? ? ? ?case AVAssetExportSessionStatusFailed:

? ? ? ? ? ? ? ? ? ? NSLog(@"Export failed: %@", [[self.exportSession error] localizedDescription]);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case AVAssetExportSessionStatusCancelled:

? ? ? ? ? ? ? ? ? ? NSLog(@"Export canceled");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? NSLog(@"NONE");

? ? ? ? ? ? ? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{

? ? ? ? ? ? ? ? ? ? ? ? ?NSLog(@"剪輯成功");

? ? ? ? ? ? ? ? ? ? });

?? ? ? ? ? ? ? ? ? ?break;

? ? ? ? ? ? }

? ? ? ? }];

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容