with uiimagepickercontrollerdelegate how and iphone uiimagepickercontroller

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); }


Xcode 9 - Swift 4.x :

Tenga cuidado con el orden de estas declaraciones:

imagePickerController.mediaTypes = [kUTTypeMovie as String] imagePickerController.cameraCaptureMode = .video

Y recuerdas agregar a info.plist: