2012-05-27 5 views
4

에 대한 시간 범위 만들기 다음과 같이 내 수출 세션에 사용하고내가 같은 타임 스탬프에서 <code>AVAssetExportSession</code>에 대한 시간 범위를 만드는 방법을 궁금 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); 

도움 주셔서 감사합니다.

답변

11

timeRange (AVAssetExportSession)은 시작할 위치와 기간을 지정하는 자산의 부분 내보내기를 수행 할 수 있습니다. 지정하지 않으면 동영상 전체를 내보내므로 0에서 시작하여 총 재생 시간을 내 보냅니다.

시작과 지속 시간은 모두 CMTime이어야합니다. 예를 들어

, 당신은 자산의 상반기 내보낼 경우 :

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

또는 하반기 :

exportSession.timeRange = CMTimeRangeMake(half, half); 

또는 끝에 십초 :

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

정확한 타이밍을 계산하는 다른 방법은 CMTime 참조를 확인하십시오.

+0

고맙습니다. 모두 정렬되었습니다. 단 CMTimeMakeWithSeconds에는 두 개의 인수가 필요합니다. 따라서 두 번째 주장은 바람직한 시간 척도가되어야합니다. – user1273431

+0

Opps, 고정. 이것은 텍스트 영역 w/out 실시간 구문 확인에 코드를 작성하는 일이 있습니다 :) – djromero