0

トランジションを追加する方法(ビデオの開始時にフェードインし、ビデオが終了するとフェードアウトする方法)を知りたいと思います。moviePlayBackDidFinishとトランジションの効果

このタスクで彼を助けてくださいでした、私は一種の移行に迷ってしまいました、決して/前にそれで遊んでいない:ここ

は、あなたがのスクリーンショットをキャプチャすることができ、私のコード

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

答えて

0

ですムービーを再生する直前のUI。

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

あなたのMoviePlayerを追加未満、あなたがその上にUIImageViewとしてイメージを追加よりも、(例えば、[[のUIApplication sharedApplication] keyWindow])。あなたがイメージを消すよりも。

(0-1のmoviePlayer.view.alphaにもアニメーションを適用できるかどうかはわかりません)。

基本的なフェードイン/フェードアウトがアルファ値アニメーション化することによって達成することができます:私はそれをするとき、ビデオ/画像/アウト効果でフェードを適用で何をしたい...私はそれを得ることはありません

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

を開始する予定です。私を助けてくれてありがとう! – user1256827

+0

基本的なフェードイン/フェードアウトは、アルファ値をアニメーション化することで実現できます。私は私の答えを編集します。 – calimarkus

関連する問題