2010-08-17 9 views
0

J'ai mis en œuvre la capture vidéo par:iPhone compression vidéo on/off

IImagePickerController *imagePicker = [[UIImagePickerController alloc] init];  
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
NSArray *sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePicker.sourceType]; 
if ([sourceTypes containsObject:(NSString *)kUTTypeMovie ]){ 
    imagePicker.mediaTypes = sourceTypes; 
}   
imagePicker.delegate = self; 
[self presentModalViewController:imagePicker animated:YES]; 
[imagePicker release]; 

Je peux enregistrer la vidéo et l'envoyer à YouTube en utilisant l'API YouTube, mais si la longueur de la vidéo est plus de 5 minutes, et je cliquez sur USE - l'application est fermée. Mais aucun problème n'apparaît si je sélectionne même une vidéo de 10 minutes de la bibliothèque (je vois la progression de la compression de la vidéo), la vidéo est sauvegardée dans ma vue et téléchargée sur YouTube.

Quelqu'un peut-il me dire quel pourrait être le problème?

+0

Que faites-vous en cliquant sur "Utiliser"? –

+0

Je clique sur le bouton USE dans le coin inférieur droit du UIImagePickerController. C'est un bouton standard. Dans le coin inférieur gauche, je reçois le bouton RETAKE. –

+0

OK, peut-être que je peux changer un peu de question. Quand j'écris une vidéo en utilisant UIImagePickerController et l'envoie quelque part c'est environ 4MB, et si je sélectionne LA MÊME vidéo de la bibliothèque c'est environ 1MB. Comment rendre le fichier plus petit juste après l'enregistrement? –

Répondre

1

Vous avez utilisé QualityTypeHigh avec une haute résolution 1280x720. donc ça prend tellement de mémoire.

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.delegate = self; 

[imagePicker setVideoQuality:UIImagePickerControllerQualityQualityTypeMedium]; 

imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 

imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 

[imagePicker setVideoMaximumDuration:30]; 

imagePicker.allowsEditing = YES; 

[self presentModalViewController:imagePicker animated:YES]; 

[imagePicker release];