So wählen Sie eine Video- oder Filmdatei von UIImagePickerController aus
In meine app, die ich brauche, um wählen Sie eine beliebige video-Datei und zeigen Sie die Anzeige der url für ein video-Datei in der Anwendung.
-(void)viewDidLoad{
[super viewDidLoad];
self.imgPicker = [[UIImagePickerController alloc] init];
self.imgPicker.delegate = self;
self.imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
self.imgPicker.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, (NSString *)kUTTypeImage, nil];
self.imgPicker.allowsEditing = NO;
[self presentModalViewController:self.imgPicker animated:YES];
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[picker dismissModalViewControllerAnimated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage : (UIImage *)image
editingInfo:(NSDictionary *)editingInfo{
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
value = 1;
IMAGE_COUNTER = IMAGE_COUNTER + 1;
NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if ( [mediaType isEqualToString:@"public.movie" ])
{
NSLog(@"Picked a movie at URL %@", [info objectForKey:UIImagePickerControllerMediaURL]);
NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];
NSLog(@"> %@", [url absoluteString]);
}
else
{
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSData* imageData = UIImageJPEGRepresentation(image, 1.0);
NSString* incrementedImgStr = [NSString stringWithFormat: @"UserCustomPotraitPic%d.jpg", IMAGE_COUNTER];
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
NSString* fullPathToFile2 = [documentsDirectory stringByAppendingPathComponent:incrementedImgStr];
[imageData writeToFile:fullPathToFile2 atomically:NO];
}
}
Benutzt habe ich den oben genannten code um Bild und video , alles kommt in Ordnung, allerdings, wenn ich wählen Sie alle video-Datei nicht es kommt UIImagePickerController Delegate-Methode, Video-Datei direkt spielen, ich will nicht jedes video-Datei, wenn ich wählen Sie alle video-Datei-sollte Sie kommen in Ihre Delegaten-Eigenschaft
InformationsquelleAutor der Frage user1379448 | 2012-05-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kommissionierung von videos aus der iPhone-Bibliothek funktioniert nicht auf dem iOS-Simulator. Versuchen Sie es auf einem echten iPhone.
Hier ist der code für die Kommissionierung video aus der iOS-Foto-Bibliothek, die ich verwendet habe in meinen Projekten. Fügen Sie einfach die video-Methode aus-Selektor, um Ihre gewünschte Taste.
Den string
moviepath
gibt den Pfad der ausgewählten video-die kann verwendet werden, um jede gewünschte Aktion mit diesem video.Vergessen Sie nicht, fügen Sie die
MobileCoreServices.framework
Rahmen für Ihr Projekt! Dann importieren Sie diese wie folgt:InformationsquelleAutor der Antwort Dinesh Kaushik
versuchen Sie dies:-
In der delegate-Methode:-
InformationsquelleAutor der Antwort Gypsa
@Dinesh Kaushik code helfen, um mit dem gleichen problem hatte ich auch.
Ich geändert :
und nur so kann ich sehen Sie das video und wählen Sie es. seltsam
InformationsquelleAutor der Antwort user1105951
Swift 3-update :
Import import MobileCoreServices und das hinzufügen von Delegierten UIImagePickerControllerDelegate und UINavigationControllerDelegate .
InformationsquelleAutor der Antwort Lakhdeep Singh
Nicht verwenden UIImagePicker, verwenden Sie einfach assetlibrary, implementieren Sie eine benutzerdefinierte video-picker, Zugang zu den ausgewählten video-Datei direkt, speichern Sie die video-Datei und compess die Datei, wenn Sie wollen..
InformationsquelleAutor der Antwort user1444020