Могу ли я программно включить вспышку на новом устройстве 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
?