Могу ли я программно включить вспышку камерына новое устройство 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
код здесь: Turn on torch/flash on iPhone там, кажется, не быть любой живой корм видео в UIImagePickerController
.
Являются ли эти UIImagePickerController
и AVCaptureSession
совместимыми друг с другом? или вы должны выбрать один или другой?
И кто-нибудь знает обходное решение для включения режима вспышки (или torchMode
) и иметь возможность takePicture
?
Другой момент - включить светодиодную вспышку в любом случае, кроме снимка (т. Е. До или после снятия рисунка), вам необходимо использовать факел (AVCaptureTorchMode), а не вспышку. – bijanv
Спасибо, что указатель на эту сессию был очень полезен в объяснении всего об инфраструктуре AVFoundation! Особенно, например, код примера AVCam Demo делает все, что я хотел бы сделать (и многое другое). –