IOS调取系统摄像头
【摘要】
1、打开摄像头- (IBAction)Open:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; if([UIImagePickerController isSourceTypeAvailable:...
-
1、打开摄像头
-
- (IBAction)Open:(id)sender {
-
-
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];
-
-
}
-
-
-
-
-
-
2.拍照回调
-
-
- (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];
-
-
}
文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。
原文链接:zzzili.blog.csdn.net/article/details/49391873
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)