Ios iPad-MPMoviePlayer缩小后消失

Ios iPad-MPMoviePlayer缩小后消失,ios,ipad,notifications,mpmovieplayercontroller,mpmovieplayer,Ios,Ipad,Notifications,Mpmovieplayercontroller,Mpmovieplayer,我正在使用MPMoviePlayer流式传输视频URL 用户点击视图帧后,视频将在视图帧中开始。这样行。嵌入视频时,默认控件会放置一个放大按钮 当用户按下放大按钮时,视频进入全屏正常状态,而不会中断播放 但是,当用户再次按下缩小按钮时,我有三个问题: 视频会缩放到屏幕的一角,然后消失, 而不是回到原来的位置 视频转到拐角处后消失,播放结束, 而不是继续播放视频 MPMoviePlayerDidExitFullscreenNotification从未被调用, 仅调用MPMoviePlayerWi

我正在使用MPMoviePlayer流式传输视频URL

用户点击视图帧后,视频将在视图帧中开始。这样行。嵌入视频时,默认控件会放置一个放大按钮

当用户按下放大按钮时,视频进入全屏正常状态,而不会中断播放

但是,当用户再次按下缩小按钮时,我有三个问题:

  • 视频会缩放到屏幕的一角,然后消失, 而不是回到原来的位置

  • 视频转到拐角处后消失,播放结束, 而不是继续播放视频

  • MPMoviePlayerDidExitFullscreenNotification从未被调用, 仅调用MPMoviePlayerWillExitFullscreenNotification。我已尝试将nil和mediaPlayerController发送到通知中心

此外,按下“完成”按钮时,视频会转到屏幕的一角并消失

我的播放器是通过以下操作创建的:

   moviePlayer=[[MPMoviePlayerController alloc] init];
    moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
    moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
    moviePlayer.shouldAutoplay=YES;
    moviePlayer.controlStyle=MPMovieControlStyleEmbedded;
    moviePlayer.view.hidden = YES;
然后,当用户点击视图时,会发生以下情况:

- (void) playVideo {

    NSURL *url=[NSURL URLWithString: _news.videoUrl];

    moviePlayer.contentURL = url;
    moviePlayer.view.hidden = NO;

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

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillExitFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:moviePlayer];

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

    [moviePlayer play];

}



- (void) moviePlayerWillExitFullScreen:(NSNotification*)notification {
    NSLog(@"WILL EXIT FULLSCREEN");

}

- (void) moviePlayerDidExitFullScreen:(NSNotification*)notification {
    NSLog(@"EXITED FULLSCREEN");  //NOT CALLED
}


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

    NSLog(@"FINISHED PLAYIIING");

    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
    moviePlayer.view.hidden = YES;
}

那么,与此同时,我将回答我的4个问题中的3个:

  • 视频会缩放到屏幕的一角,然后消失,而不是返回到原始位置

  • 转到拐角处后,视频将消失,播放结束,而不是继续播放视频

  • 此外,按下“完成”按钮时,视频会转到屏幕的一角并消失

问题是退出全屏模式后,调用-viewWillAppearAnimated方法。布局在该方法中被修改,这就是为什么播放停止,视图被发送到角落