IOS调取系统摄像头

举报
清雨小竹 发表于 2022/09/25 00:18:30 2022/09/25
【摘要】 1、打开摄像头- (IBAction)Open:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; if([UIImagePickerController isSourceTypeAvailable:...

  
  1. 1、打开摄像头
  2. - (IBAction)Open:(id)sender {
  3. UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  4. if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
  5. picker.sourceType = UIImagePickerControllerSourceTypeCamera;
  6. NSArray *temp_MediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType];
  7. picker.mediaTypes = temp_MediaTypes;
  8. picker.delegate = self;
  9. picker.allowsImageEditing = YES;
  10. }
  11. [self presentModalViewController:picker animated:YES];
  12. [picker release];
  13. }
  14. 2.拍照回调
  15. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
  16. {
  17. NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
  18. BOOL success;
  19. NSFileManager *fileManager = [NSFileManager defaultManager];
  20. NSError *error;
  21. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  22. NSString *documentsDirectory = [paths objectAtIndex:0];
  23. if ([mediaType isEqualToString:@"public.image"]){
  24. UIImage *image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
  25. NSLog(@"found an image");
  26. NSString *imageFile = [documentsDirectory stringByAppendingPathComponent:@"temp.jpg"];
  27. NSLog(@"%@", imageFile);
  28. success = [fileManager fileExistsAtPath:imageFile];
  29. if(success) {
  30. success = [fileManager removeItemAtPath:imageFile error:&error];
  31. }
  32. imageView.image = image;
  33. [UIImageJPEGRepresentation(image, 1.0f) writeToFile:imageFile atomically:YES];
  34. //SETIMAGE(image);
  35. //CFShow([[NSFileManager defaultManager] directoryContentsAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"]]);
  36. }
  37. else if([mediaType isEqualToString:@"public.movie"]){
  38. NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
  39. NSLog(@"%@", videoURL);
  40. NSLog(@"found a video");
  41. NSData *videoData = [NSData dataWithContentsOfURL:videoURL];
  42. /****************************************/
  43. NSString *videoFile = [documentsDirectory stringByAppendingPathComponent:@"temp.mov"];
  44. NSLog(@"%@", videoFile);
  45. success = [fileManager fileExistsAtPath:videoFile];
  46. if(success) {
  47. success = [fileManager removeItemAtPath:videoFile error:&error];
  48. }
  49. [videoData writeToFile:videoFile atomically:YES];
  50. //CFShow([[NSFileManager defaultManager] directoryContentsAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"]]);
  51. //NSLog(videoURL);
  52. }
  53. [picker dismissModalViewControllerAnimated:YES];
  54. }
  55. - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
  56. [picker dismissModalViewControllerAnimated:YES];
  57. }

文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/49391873

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。