Можно ли программно включить вспышку камеры на новом устройстве iPhone 4, до , сделав снимок с -takePicture
?
Я разрабатываю приложение для фотосъемки для iOS 4 и хочу включить вспышку до того, как пользователь сделает снимок, чтобы он мог заранее увидеть эффект вспышки.
Проблема, как представляется, заключается в том, что для того, чтобы свет вспышки оставался включенным, вам нужно включить torchMode
, и это возможно только в «режиме видео» (UIImagePickerControllerCameraCaptureModeVideo
), в то время как вы можете задать только UIImagePickerController
до takePicture
, когда он находится в «режиме фото» (UIImagePickerControllerCameraCaptureModePhoto
).
Итак, работает следующее, но при съемке снимка светится только вспышка:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls = NO;
picker.navigationBarHidden = YES;
picker.toolbarHidden = YES;
picker.mediaTypes = [NSArray arrayWithObjects:@"public.image", nil];
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
[self presentModalViewController:picker animated:YES];
И это тоже работает (показывает факел все время), но тогда я не могу сделать снимок.
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls = NO;
picker.navigationBarHidden = YES;
picker.toolbarHidden = YES;
picker.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, nil];
picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
picker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOn;
[self presentModalViewController:picker animated:YES];
Когда я пытаюсь найти код toggleTorch
, найденный здесь: Включите фонарик / вспышку на iPhone В UIImagePickerController
.
кажется, что нет прямой трансляции видео.
Совместимы ли они UIImagePickerController
и AVCaptureSession
друг с другом? или вы должны выбрать один или другой?
А кто-нибудь знает обходной путь, чтобы включить режим вспышки (или torchMode
) и иметь возможность takePicture
?