iphone - how - uiimagepickercontrollerdelegate swift 4
Grabación de video en iPhone: "cameraCaptureMode 1 no está disponible porque mediaTypes no contiene public.movie" (7)
Para Swift 3.0, debe agregar la línea inferior para admitir fotos y videos
import MobileCoreServices
imagePicker.mediaTypes = [kUTTypeMovie as String, kUTTypeImage as String]
Intento grabar un video. El mensaje que recibí es del siguiente código en el dispositivo:
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.allowsEditing = YES;
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
¿Algunas ideas? Creo que debería ser muy fácil tomar un video. Cuando inicio la aplicación "Cámara" del teléfono, puedo elegir entre video e imagen. ¿No debería estar disponible para mi aplicación también?
10x por adelantado, Danail
Agregue a las respuestas anteriores, como lo mencionó Micko, debe agregar MobileCoreServices.framework en su proyecto y refinarlo en su imagePickerController. Para aquellos que desean tener un interruptor debajo de la barra de herramientas en la vista de captura de imágenes, simplemente configure el delegado de mediaTypes de la siguiente manera:
imagePC.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, (NSString *)kUTTypeImage, nil];
Ahora, puede tener tanto la toma de imágenes fijas como la toma de video, ¡disfrute!
El problema era la forma en que intentaba configurar el modo en modo de video.
En lugar de usar esto:
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
Lo cambié a esto:
imagePickerController.mediaTypes =
[NSArray arrayWithObject:(NSString *)kUTTypeMovie];
Y funcionó.
Este método abrirá la biblioteca de videos en mi ipod 4.No la cámara de video de mi dispositivo.
Alguien me dirá cómo resolver el problema, he intentado las dos formas descritas anteriormente.
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.allowsEditing = YES;
imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
y
imagePickerController.mediaTypes =
[NSArray arrayWithObject:(NSString *)kUTTypeMovie];
Gracias por tu ayuda.
Y si está trabajando con Swift, entonces deberá agregar MobileCoreServices.framework así como el siguiente Módulo en el que está intentando grabar el video.
import MobileCoreServices
Entonces, en general, su código será algo como esto
var imag = UIImagePickerController()
imag.delegate = self
imag.sourceType = UIImagePickerControllerSourceType.Camera;
imag.cameraDevice = UIImagePickerControllerCameraDevice.Rear //or Front
imag.mediaTypes = [kUTTypeMovie];
self.presentViewController(imag, animated: true, completion: nil)
ingrese el código aquí. Por favor intente esto, esto abrirá la cámara de video
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
UIImagePickerController *tmp_picker=[[UIImagePickerController alloc]init];
tmp_picker.sourceType=UIImagePickerControllerSourceTypeCamera;
tmp_picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
tmp_picker.delegate=self;
[self presentModalViewController:tmp_picker animated:YES];
[tmp_picker release];
NSLog(@"button index is %i",buttonIndex);
}