J'utilise UIImagePickerController
pour enregistrer une vidéo avec le sourceType
défini sur UIImagePickerControllerSourceTypeCamera
.UIImagePickerController avec la source de la caméra: le découpage vidéo ne fonctionne pas
J'ai défini allowsEditing
sur true pour que la vidéo puisse être modifiée avant le retour du sélecteur. Mais après avoir édité la vidéo en utilisant l'interface de recadrage et en appuyant sur "Choisir", je récupère seulement l'enregistrement original dans le délégué, pas la version rognée. Qu'est-ce que je fais mal? J'utilise iPhone OS 3.1.3. Je me souviens que cela fonctionnait dans une version antérieure, mais il semble échouer dans le dernier système d'exploitation. Toute aide est appréciée? Par ailleurs, j'ai confirmé que si la source de la vidéo est UIImagePickerControllerSourceTypeSavedPhotosAlbum
, le découpage fonctionne dans la version 3.1.3. Donc couper avec la source car la caméra est défaillante. Il est intéressant de noter que le bouton "Choisir" apparaît avec l'album photo/rouleau de photos comme source, et peu de temps après avoir cliqué dessus, le contrôleur affiche un message disant "La vidéo est en train d'être rognée ...". Je ne reçois pas ce message lorsque j'utilise la source de la caméra.
Voici un extrait du code que j'utilise pour enregistrer une vidéo en utilisant la source de la caméra.
- (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];
}
Ma mise en œuvre du délégué est la suivante:
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo: (NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
self.videoPath = [[info objectForKey:UIImagePickerControllerMediaURL] path];
...
}
Merci beaucoup,
kris.
Cela semble intentionnel: une fois que l'utilisateur a édité un élément sélectionné, par exemple en rognant une image ou en découpant un film, l'URL continue de pointer vers la version originale de l'élément sélectionné. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerControllerDelegate_Protocol/UIImagePickerControllerDelegate/UIImagePickerControllerDelegate.html#//apple_ref/doc/uid/TP40007069 – James
Non, ce n'est pas si simple. Lors de la sélection d'une image, les images éditées et originales sont renvoyées. Et lors de la sélection d'une vidéo avec sorceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum, une vidéo rognée est renvoyée. A titre d'observation, à chaque fois qu'une vidéo non tronquée est renvoyée, la dict contient également les clés @ "_ UIImagePickerControllerVideoEditingStart" et @ "_ UIImagePickerControllerVideoEditingEnd" avec les temps de début et d'arrêt rognés (en secondes). Je suppose que nous devons les chercher et faire la coupe nous-mêmes (si présent) – wombat57