2015-02-06 4 views
-1

Ive пытался настроить небольшой метод iOS, который делает снимок автоматически, когда пользователь открывает приложение. После долгих исследований я наконец нашел это iOS taking photo programmatically, и после немного больше я нашел это от яблока https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html может кто-нибудь помочь мне начать работу над настройкой метода для captureStillImageAsynchronouslyFromConnection:completionHandler: Мне не нужно никакого взаимодействия от указанного пользователя. благодаряОбработка захватаStillImageAsynchronouslyFromConnection: completeHandler:

+0

Зачем вам нужен захват быть асинхронными? –

+0

Я хотел бы сделать снимок программно без какого-либо ввода пользователем –

+0

Вам не нужно фиксировать изображение асинхронно для этого ... Просто создайте uiimagepicker, как описано во втором ответе iOS, сделав фото программным способом и вызовите takePicture: http: //stackoverflow.com/a/23312505/2274694 –

ответ

1

Даже если вы, кажется, хотят, чтобы сделать вызов асинхронно и используя AVFoundation, я все еще рекомендую просто используя UIImagePickerController в этом случае, например:

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    // If the device has a camera... 
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 

     // Create an image picker 
     UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; 
     imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera; 
     imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront; 
     imagePickerController.showsCameraControls = NO; 
     imagePickerController.delegate = self; 

     [self presentViewController:imagePickerController animated:YES completion:^{ 

      // And take the picture after a short delay 
      // to give the view and image picker time to get 
      // ready 
      [self performSelector:@selector(takepic:) withObject:imagePickerController afterDelay:2]; 
     }]; 
    } 
} 

// Automatically take the picture using the 
// image picker passed in as a parameter 
- (void)takepic:(UIImagePickerController*)imagePickerController { 
    [imagePickerController takePicture]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

    // ... Do whatever with the image ... 

    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

очень круто. спасибо –

+0

@mobonus Нет проблем :) –

Смежные вопросы