2012-05-20 2 views
7

Ich verwende UIImagePickerController, um ein Video mit dem sourceType auf UIImagePickerControllerSourceTypeCamera festgelegt aufzunehmen.UIImagePickerController mit Kameraquelle mit ermöglicht Bearbeiten ja: Video-Trimmen funktioniert nicht

Ich habe allowsEditing auf True gesetzt.

Nach der Videoaufnahme bearbeite ich das Video mit der Trimmoberfläche und drücke "Use", ich bekomme nur die Originalaufnahme zurück, nicht die getrimmte Version. Was mache ich falsch?

Ich bin mit iOS 5.

-(void)shootvideo { 
    imagePicker = [[UIImagePickerController alloc] init]; 
    [imagePicker.view addSubview:test]; 
    [imagePicker.view addSubview:test2]; 

    imagePicker.delegate = self; 
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 

    imagePicker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil]; 
    imagePicker.showsCameraControls = YES; 
    imagePicker.navigationBarHidden = NO; 
    imagePicker.toolbarHidden = NO; 
    imagePicker.wantsFullScreenLayout = YES; 
    imagePicker.allowsEditing=YES; 

    [self presentModalViewController:imagePicker animated:YES]; 
} 


-(void) imagePickerController: (UIImagePickerController *) picker 
didFinishPickingMediaWithInfo: (NSDictionary *) info 
{ 
    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType]; 


    if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) 
     == kCFCompareEqualTo) 
    { 

     NSString *moviePath = [[info objectForKey:UIImagePickerControllerMediaURL] path]; 

     //NSLog(@"%@",moviePath); 

     if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) { 
      UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil); 
     } 
    } 

    [self dismissModalViewControllerAnimated:YES]; 
} 

Ich möchte, dass Video für die weitere Verarbeitung nach meiner Anwendung getrimmt verwenden.

Wohin gehe ich falsch?

Gibt es eine andere Möglichkeit, diese Aufgabe zu erfüllen?

Antwort

0

allowEditing: Ein boolescher Wert, der angibt, ob der Benutzer ein ausgewähltes Standbild oder einen Film bearbeiten darf.

@property (nonatomic) BOOL allowsEditing

Diskussion Wenn Sie dem Benutzer erlauben, Bilder oder Filme zu bearbeiten, die Delegierten ein Wörterbuch mit Informationen über die Änderungen empfangen, die gemacht wurden. Das Protokoll für den Delegaten wird beschrieben in UIImagePickerControllerDelegate Protocol Reference.

Ich denke, das wird hilfreich sein.

0

Sie benötigen die info [UIImagePickerControllerEditedImage] aus dem greifen - (void) imagePickerController: (UIImagePickerController *) Picker didFinishPickingMediaWithInfo: (NSDictionary *) info

glaube ich.

Verwandte Themen