2011-11-29 56 views
8

我瞭解如何使相機應用在我的學習之旅:-)保存,我在我的應用程序記錄

我堅持是節約,我已經錄製了視頻的唯一成功的視頻。我可以保存一張照片,但同樣不適用於視頻。

所以我想我已經在iBrad Apps的幫助下獲得了它。

得到這個代碼:

-(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); 
}}} 

我有一個if語句,因爲應用程序可以採取視頻和靜態圖像。

,第一部分是仍然 - 這工作,然後第二部分我仍然:-)

回答

18

楚楚-ING試試這個:

UISaveVideoAtPathToSavedPhotosAlbum(moviepath,nil,nil,nil); 

編輯:試試這個,修改代碼這種方法:

// 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

聽起來像我正確的方式 - 我添加了一些代碼來顯示我在做什麼 - 歡呼 –

+0

檢查的電影是零或者是NEWMEDIA爲零。 –

+0

對不起,這是一個問題或答案? newMedia是一個布爾值,所以我認爲它應該是零 - 這樣它可以保存剪輯嗎?也許我在這裏錯了。 –

相關問題