2013-08-27 2 views
1

Я хочу сохранить загруженный видеофайл в галерею изображений, но я не могу его сохранить. Пожалуйста, помогите мне, как это исправить?Как сохранить загруженный видеофайл в галерею изображений в Objective C?

Спасибо,

+3

Вы можете разместить некоторые из вашего кода, где это необходимо исправить ..? – NREZ

ответ

0

Вы можете сохранить с помощью UISaveVideoAtPathToSavedPhotosAlbum

Решение

UISaveVideoAtPathToSavedPhotosAlbum(yourVideoPath, nil, nil, nil); 

Чтобы получить Путь видео вы должны сохранить его в любом месте. вы можете сохранить путь к цели.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 
NSString * yourVideoPath = [basePath stringByAppendingPathComponent:@"video.mov"]; 

[yourVideoData writeToFile:yourFilePath atomically:YES]; 
0

может у вас, пожалуйста, попробуйте это link ??

это добавит фильм по указанному пути к альбому камеры пользователя Camera Roll.

void UISaveVideoAtPathToSavedPhotosAlbum (
    NSString *videoPath, 
    id  completionTarget, 
    SEL  completionSelector, 
    void  *contextInfo 
); 

дальнейшие указания вы найдете в приведенной выше ссылке я указанный

дополнительную ссылку полезную является this

надеюсь, что это помогает ..

2

Попробуйте это работа для меня

-(void)SaveVideoTOPhotoAlbum 
    { 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 
     NSString *getImagePath = [basePath stringByAppendingPathComponent:videoName]; 
      printf(" \n\n\n-Video file == %s--\n\n\n",[getImagePath UTF8String]); 
     UISaveVideoAtPathToSavedPhotosAlbum (getImagePath,self, @selector(video:didFinishSavingWithError: contextInfo:), nil); 
    } 

//

- (void) video: (NSString *) videoPath didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo 
    { 
     NSLog(@"Finished saving video with error: %@", error); 
     //kapil here **** 
    } 

Успехов Уважаемый

0

Попробуйте это ...

NSURL *videoUrl = [NSURL URLWithString:[NSString stringWithFormat:@"Your Video Url"]]; 

dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); 
dispatch_async(q, ^{ 

NSData *videoData = [NSData dataWithContentsOfURL:videoUrl]; 

dispatch_async(dispatch_get_main_queue(), ^{ 

    // Write it to cache directory 
    NSString *videoPath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"file.mov"]; 
    [videoData writeToFile:videoPath atomically:YES]; 

    // After that use this path to save it to PhotoLibrary 
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
    [library writeVideoAtPathToSavedPhotosAlbum:[NSURL fileURLWithPath:videoPath] completionBlock:^(NSURL *assetURL, NSError *error) 
    { 
     if (error) 
     { 
      NSLog("Error"); 
     } 
     else 
     { 
      NSLog("Success"); 
     } 

     }]; 
    }); 
}); 
Смежные вопросы