Сохранить видео из UIImagePickerController в IOS 5 - PullRequest
1 голос
/ 12 января 2012

Я до сих пор использую этот код для сохранения видео, полученного с UIImagePickerController:

        NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];

        NSData *videoData = [NSData dataWithContentsOfURL:url];
        path = [kFilesSaveDirectory stringByAppendingFormat:@"%@/Vid%d.mov",album.albumName,album.lastfile];
        path2 = [kFilesSaveDirectory stringByAppendingFormat:@"%@/VidImg%d.png",album.albumName,album.lastfile];

        [videoData writeToFile:path atomically:NO];

        [[videoPlayer moviePlayer] setContentURL:[NSURL URLWithString:path]];
        UIImage *image = [[videoPlayer moviePlayer] thumbnailImageAtTime:1.0 timeOption: MPMovieTimeOptionNearestKeyFrame];
        [[videoPlayer moviePlayer] setContentURL:nil];
        [UIImagePNGRepresentation(image) writeToFile:path2 atomically:YES];

До сих пор в ios 4 он работал без проблем, но когда я пытаюсь использовать его сейчас в ios 5, он делает две проблемы:

  1. это дает мне ноль за изображение.

2.Это не показывает мне видео, когда я хочу показать его с этим кодом:

[[videoPlayer moviePlayer] setContentURL:[NSURL URLWithString:choosen.bigpath]];

[self presentModalViewController:videoPlayer animated:YES];

[[videoPlayer moviePlayer] play];

1 Ответ

0 голосов
/ 12 января 2012

Это работает для меня -

NSURL *mediaUrl = [info objectForKey:UIImagePickerControllerMediaURL];

        MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:mediaUrl];
        moviePlayer.shouldAutoplay = NO;
        thumbnail = [[moviePlayer thumbnailImageAtTime:0.0 timeOption:MPMovieTimeOptionNearestKeyFrame] retain];
        [moviePlayer release];
        [layer release];

Я добавил этот код этому делегату

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

Надеюсь, он также работает для вас:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...