1

ユーザーが完了を押したときに MPMoviePLayerController でビデオを終了するときに発生する遷移アニメーションを防止しようとしています。moviePlayBackDidFinish: 通知を使用して映画が自然に終了したときに問題なく停止できますが、何らかの理由で exitedFullscreen: 通知 (完了したプレスに応答する) とまったく同じ方法で試してみると、機能しません。で、アニメーションが発生します。

これが完全なコードです。どんな助けでも大歓迎です。

-(void) playvideo
{
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                         pathForResource:@"test" ofType:@"MOV"]];
    moviePlayer =  [[MPMoviePlayerController alloc]
                    initWithContentURL:url];
    self.navigationController.navigationBar.frame = CGRectMake(0, 0, self.navigationController.navigationBar.frame.size.width, self.navigationController.navigationBar.frame.size.height);

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitedFullscreen:) name:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer];

    moviePlayer.controlStyle = MPMovieControlStyleEmbedded;
    moviePlayer.shouldAutoplay = YES;
    [self.view addSubview:moviePlayer.view];
    moviePlayer.fullscreen = YES;
}



-(void)moviePlayBackDidFinish: (NSNotification*)notification
{
    moviePlayer.fullscreen = NO;
    [moviePlayer.view removeFromSuperview];


}


- (void)exitedFullscreen:(NSNotification*)notification {

    moviePlayer.fullscreen = NO;
    [moviePlayer.view removeFromSuperview];

} 
4

1 に答える 1

0

このコードを使用してアニメーションを削除できます。

 -(void)moviePlayBackDidFinish: (NSNotification*)notification
    {


      [moviePlayer stop];
      [moviePlayerController.view removeFromSuperview];
      moviePlayer = nil;


    }


    - (void)exitedFullscreen:(NSNotification*)notification {

        [moviePlayer stop];
        [moviePlayerController.view removeFromSuperview];
        moviePlayer = nil;

    } 
于 2014-12-01T12:47:22.880 に答える