moviePlayBackDidFinish и эффект перехода - PullRequest
0 голосов
/ 08 марта 2012

Я хотел бы знать, как добавить переход (добавить, когда начинается видео, и исчезнуть, когда видео закончится).

Не могли бы вы помочь ему в этой задаче?Я потерял с переходом, никогда не играй с ним раньше /:

вот мой код

- (void) startSlideShow
{
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
                                         pathForResource:@"2" ofType:@"mov"]];


    MPMoviePlayerController *moviePlayer = 
    [[MPMoviePlayerController alloc] initWithContentURL:url];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayBackDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:moviePlayer];
    moviePlayer.view.frame = CGRectMake(0, 0, 768, 1024);

    moviePlayer.controlStyle = MPMovieControlStyleDefault;
    moviePlayer.shouldAutoplay = YES;
    [self.view addSubview:moviePlayer.view];
    [moviePlayer setFullscreen:YES animated:YES];
   }


-(void)moviePlayBackDidFinish: (NSNotification*)notification
{ 
    MPMoviePlayerController *moviePlayer = [notification object];

    [[NSNotificationCenter defaultCenter] removeObserver:self      
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:moviePlayer];

    if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)])
    {
        // the transition should be around here... (fade out)
        [moviePlayer.view removeFromSuperview];
    }
    [moviePlayer release];

    [self checkResources];
}

1 Ответ

0 голосов
/ 09 марта 2012

Вы можете сделать снимок экрана вашего пользовательского интерфейса прямо перед воспроизведением фильма.

UIGraphicsBeginImageContext(view.frame.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshotOfView = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Затем вы добавляете MoviePlayer, а затем добавляете изображение как UIImageView (например, [[UIApplication sharedApplication]keyWindow]).Затем вы затемняете изображение.

(я не знаю, могли бы вы также просто анимировать moviePlayer.view.alpha из 0-1).

Базовое затухание / затухание может бытьдостигается путем анимации альфа-значения:

view.alpha = 0.0;
[UIView animateWithDuration: 0.35 animations:^{
    view.alpha = 1.0;
}];
...