UIImagePickerController
で2つのビデオを録画しようとしています。すべて正常に動作していますが、2番目の動画を録画すると、最初に録画した動画のパスが上書きされているようです。
両方のビデオをサーバーにアップロードする必要がありますが、アップロード中に最初のビデオパスがなくなり、アプリケーションがクラッシュしました。別のパスに2番目のビデオを記録する方法はありますか?UIImagePickerControllerでの2番目のビデオ録画は、最初のビデオ録画のパスをオーバーライドします。
ビデオパスを次のようにここで
/private/var/mobile/Containers/Data/Application/1465EC90-4B57-41FF-996E-0CCB7713ECE7/tmp/50332801315__A883E4DB-ED72-4D31-9564-22FB363779BD.MOV
/private/var/mobile/Containers/Data/Application/1465EC90-4B57-41FF-996E-0CCB7713ECE7/tmp/50332802324__F11733AD-EB62-426D-BA1C-7E87D2BF66D0.MOV
は私のimagePicker
デリゲートコードです:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
NSURL *videoUrl = (NSURL*)[info objectForKey:UIImagePickerControllerMediaURL];
NSString *moviePath = [videoUrl path];
if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {
UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil);
}
NSLog(@"videoUrl: %@", videoUrl);
NSLog(@"moviePath: %@", moviePath);
// self.moviePath_1 = @"";
// self.moviePath_2 = @"";
NSLog(@"picker.title: %@", picker.title);
if ([picker.title isEqualToString:@"Video_1"]) {
self.moviePath_1 = moviePath;
self.video_1 = YES;
NSLog(@"self.moviePath_1: %@", self.moviePath_1);
self.video_1_Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:self.moviePath_1]];
NSLog(@"Video_1 Size: %@",[NSByteCountFormatter stringFromByteCount:self.video_1_Data.length countStyle:NSByteCountFormatterCountStyleFile]);
[self setupAndPlayback:@"Video_1"];
} else {
self.moviePath_2 = moviePath;
self.video_2 = YES;
NSLog(@"self.moviePath_2: %@", self.moviePath_2);
self.video_2_Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:self.moviePath_2]];
NSLog(@"Video_2 Size: %@",[NSByteCountFormatter stringFromByteCount:self.video_2_Data.length countStyle:NSByteCountFormatterCountStyleFile]);
[self setupAndPlayback:@"Video_2"];
}
}
[self dismissViewControllerAnimated:YES completion:nil];
}