调用摄像头拍照或者摄像,把获得的数据写入到文件

获取视频: UIImagePickerController *picker = [[UIImagePickerController alloc]init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil]; 委托代码: - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; if([mediaType isEqualToString:@"public.movie"]) { NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL]; NSLog(@"found a video"); NSData *videoData = nil; videoData = [NSData dataWithContentsOfURL:videoURL]; webData = [[NSMutableData alloc] init]; [webData appendData:videoData]; if (webData != nil) { NSLog(@"SUCCESS!"); } } } 调用摄像头拍照或者摄像,把获得的数据写入到文件. UIImagePickerController *picker = [[UIImagePickerController alloc] init]; if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { picker.sourceType = UIImagePickerControllerSourceTypeCamera; NSArray *temp_MediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType]; picker.mediaTypes = temp_MediaTypes; picker.delegate = self; picker.allowsImageEditing = YES; } [self presentModalViewController:picker animated:YES]; [picker release]; //获取照片或者视频,然后写入文件 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; BOOL success; NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; if ([mediaType isEqualToString:@"public.image"]){ UIImage *image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; NSLog(@"found an image"); NSString *imageFile = [documentsDirectory stringByAppendingPathComponent:@"temp.jpg"]; NSLog(@"%@", imageFile); success = [fileManager fileExistsAtPath:imageFile]; if(success) { success = [fileManager removeItemAtPath:imageFile error:&error]; } imageView.image = image; [UIImageJPEGRepresentation(image, 1.0f) writeToFile:imageFile atomically:YES]; //SETIMAGE(image); //CFShow([[NSFileManager defaultManager] directoryContentsAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"]]); } else if([mediaType isEqualToString:@"public.movie"]){ NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL]; NSLog(@"%@", videoURL); NSLog(@"found a video"); NSData *videoData = [NSData dataWithContentsOfURL:videoURL]; NSString *videoFile = [documentsDirectory stringByAppendingPathComponent:@"temp.mov"]; NSLog(@"%@", videoFile); success = [fileManager fileExistsAtPath:videoFile]; if(success) { success = [fileManager removeItemAtPath:videoFile error:&error]; } [videoData writeToFile:videoFile atomically:YES]; //CFShow([[NSFileManager defaultManager] directoryContentsAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"]]); //NSLog(videoURL); } [picker dismissModalViewControllerAnimated:YES]; } - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [picker dismissModalViewControllerAnimated:YES]; }

posted on 2012-11-20 14:56  流れ星ーー  阅读(189)  评论(0编辑  收藏  举报

导航