2011-11-29 8 views
8

benim app kayıt bir video kaydedin. Fotoğrafı kaydedebiliyorum, ancak videolar için de aynı şey geçerli değil.Ben</p> <p>ben kaydedilen bir videoyu kaydediyor şaşırıp tek şey :-) benim öğrenme yolculuğunda bir kamera uygulaması nasıl anlamada başarılı am

Sanırım neredeyse iBrad Apps'ın yardımıyla elde ettim. Uygulamanın video ve hareketsiz görüntüler hem alabilir çünkü bir if deyimi var

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

[self dismissModalViewControllerAnimated:YES]; 

if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { 
    UIImage *image = [info 
         objectForKey:UIImagePickerControllerOriginalImage]; 

    imageView.image = image; 

    if (newMedia) 
     UIImageWriteToSavedPhotosAlbum(image, 
             self, 
             @selector(image:finishedSavingWithError:contextInfo:), 
             nil); 
} 
else{ 

    if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) { 
     UIImage *movie = [info 
          objectForKey:UIImagePickerControllerQualityTypeHigh]; 

     videoRecorder2.image = movie; 

      if (newMedia) 
       UISaveVideoAtPathToSavedPhotosAlbum(movie, 
               self, 
               @selector(movie:finishedSavingWithError:contextInfo:), 
               nil); 
}}} 

:

bu kodu var.

ilk bölümü hala içindir - Bu deneyin hangi çalışır ve daha sonra ben hala am ikinci bölümü :-)

cevap

18

ile tutu-ing:

UISaveVideoAtPathToSavedPhotosAlbum(moviepath,nil,nil,nil); 

Düzenleme: Bu deneyin ve kodunu değiştirmek Bu yönteme: - Ben ne yapıyorum göstermek için bazı kod eklemiş -

// For responding to the user tapping Cancel. 
- (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker { 

    [[picker parentViewController] dismissModalViewControllerAnimated: YES]; 
    [picker release]; 
} 

// For responding to the user accepting a newly-captured picture or movie 
- (void) imagePickerController: (UIImagePickerController *) picker 
      didFinishPickingMediaWithInfo: (NSDictionary *) info { 

    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType]; 
    UIImage *originalImage, *editedImage, *imageToSave; 

    // Handle a still image capture 
    if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0) 
      == kCFCompareEqualTo) { 

     editedImage = (UIImage *) [info objectForKey: 
        UIImagePickerControllerEditedImage]; 
     originalImage = (UIImage *) [info objectForKey: 
        UIImagePickerControllerOriginalImage]; 

     if (editedImage) { 
      imageToSave = editedImage; 
     } else { 
      imageToSave = originalImage; 
     } 

    // Save the new image (original or edited) to the Camera Roll 
     UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil , nil); 
    } 

    // Handle a movie capture 
    if (CFStringCompare ((CFStringRef) mediaType, kUTTypeMovie, 0) 
      == kCFCompareEqualTo) { 

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

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

    [[picker parentViewController] dismissModalViewControllerAnimated: YES]; 
    [picker release]; 
} 
+0

ben gibi doğru yolu Sesler şerefe –

+0

kontrol film nil ise veya NewMedia nil ise. –

+0

Üzgünüz, bu bir soru veya cevap mı? newMedia bir Boolean ve bu yüzden bunun sıfır olması gerektiğini düşünüyorum - böylece klibi doğru kaydedebilsin mi? belki burada yanlış yoldayım. –

İlgili konular