2010-02-08 6 views
5

Estoy usando UIImagePickerController para grabar un video con el sourceType establecido en UIImagePickerControllerSourceTypeCamera.UIImagePickerController con cámara fuente: el recorte de video no funciona

He configurado allowsEditing en true para que el video pueda editarse antes de que el selector vuelva. Pero después de editar el video usando la interfaz de recorte y presionar "Seleccionar", solo recupero la grabación original en el delegado, no la versión recortada. ¿Qué estoy haciendo mal? Estoy usando iPhone OS 3.1.3. Recuerdo que esto solía funcionar en una versión anterior, pero parece estar fallando en el último sistema operativo. Cualquier ayuda es apreciada?

Por cierto, confirmé que si la fuente del video es UIImagePickerControllerSourceTypeSavedPhotosAlbum, el recorte funciona en la versión 3.1.3. Así que recorte con la fuente ya que la cámara está fallando. Curiosamente con el álbum de la cámara/álbum de fotos como fuente, aparece el botón "Elegir" y poco después de hacer clic en él, el controlador muestra un mensaje que dice "El video se está recortando ...". No recibo este mensaje cuando uso la fuente de la cámara.

Aquí hay un fragmento del código que estoy usando para grabar un video usando la fuente de la cámara.

- (void) recordVideo { 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsEditing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 
    picker.videoQuality = UIImagePickerControllerQualityTypeHigh; 

    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
} 

Mi aplicación delegado es el siguiente:

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo: (NSDictionary *)info { 

    [picker dismissModalViewControllerAnimated:YES]; 
    self.videoPath = [[info objectForKey:UIImagePickerControllerMediaURL] path]; 
    ... 
} 

Muchas gracias,

Kris.

Respuesta

0

Acabo de toparme con esto yo mismo ... y encontré esta publicación cuando buscaba una solución.

ve como la única forma de evitar esto es copiar el archivo en el directorio de su aplicación, a continuación, abra la UIVideoEditorController ...

Alguien sabe si esto UIImagePickerController vídeo capturado recientemente no ser recortado problema es un error en el SDK, o estamos haciendo algo mal?

+0

Parece intencionado: una vez que el usuario edita un elemento elegido, como recortar una imagen o recortar una película, la URL continúa apuntando a la versión original del artículo elegido. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerControllerDelegate_Protocol/UIImagePickerControllerDelegate/UIImagePickerControllerDelegate.html#//apple_ref/doc/uid/TP40007069 – James

+3

No, no es tan simple. Al elegir una imagen, se devuelven tanto las imágenes editadas como las originales. Y al seleccionar un video con sorceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum, se devuelve un video recortado. Observacionalmente, cada vez que se devuelve un video sin recortar, el dict también contiene claves @ "_ UIImagePickerControllerVideoEditingStart" y @ "_ UIImagePickerControllerVideoEditingEnd" con el tiempo recortado de inicio y finalización (en segundos). Supongo que tenemos que buscar estos y hacer el recorte nosotros mismos (si está presente) – wombat57

Cuestiones relacionadas