2

Possible Duplicate:
Merge Two Video files in iPhone Application

I have download 40mb video file from server in multiple split(2mb). i'm using NSURLConnection i want to make that 20 split as a single video file. how to do that is there any API in iphone framework can some one explain me with code. here is my connectionDidFinishLoading method

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection {

NSString *fileName = [NSString stringWithFormat:@"%@",
                                      filePath];
[contentData writeToFile:fileName atomically:YES];

}

if i write like this i got only last split file. i mean 2mb data only some one guide me how to do that?

Community
  • 1
  • 1
Gurumoorthy Arumugam
  • 2,129
  • 1
  • 25
  • 40

2 Answers2

1

Im not sure whether writeToFile works in this scenario,

But to add a file in appending mode use the following code,

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentTXTPath = [documentsDirectory stringByAppendingPathComponent:@"Notes.txt"];
NSString *savedString = textview.text;
NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingAtPath:logPath];
[myHandle seekToEndOfFile];
[myHandle writeData:[savedString dataUsingEncoding:NSUTF8StringEncoding]];

Remove the code,

[contentData writeToFile:fileName atomically:YES];
KingofBliss
  • 15,055
  • 6
  • 50
  • 72
-1
- (void) mergeVideos{
///... after getting hold or your assets....firstAsset, secondAsset

AVMutableComposition* mixComposition = [AVMutableComposition composition];

AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo 
                                                                  preferredTracfirst:kCMPersistentTracfirst_Invalid];
[firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, firstAsset.duration) 
                    ofTrack:[[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] 
                     atTime:kCMTimeZero error:nil];

AVMutableCompositionTrack *secondTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo 
                                                                   preferredTracfirst:kCMPersistentTracfirst_Invalid];

[secondTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, secondAsset.duration)
                     ofTrack:[[secondAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] 
                      atTime:kCMTimeZero error:nil];    

[secondTrack setPreferredTransform:CGAffineTransformMakeScale(0.25f,0.25f)]; 
}
amit rajput
  • 18
  • 12