Ipad 告诉MPMoviePlayerViewController中加载的视频停止播放

Ipad 告诉MPMoviePlayerViewController中加载的视频停止播放,ipad,ios,Ipad,Ios,我有一个带有表视图的导航视图,列出了一些视频。当选择一行时,它将加载MPMoviePlayerViewController并使用来自文件URL的视频初始化它。当我返回到表视图时,电影仍在播放。我尝试获取底层的MPMoviePlayerController,并在viewdiddemouse方法中给它一个“pause”消息,但它似乎从未被调用(方法中的NSLog语句从未出现)。因此,我确信有一种简单的方法可以通过MPMoviePlayerController告诉MPMoviePlayerContro

我有一个带有表视图的导航视图,列出了一些视频。当选择一行时,它将加载MPMoviePlayerViewController并使用来自文件URL的视频初始化它。当我返回到表视图时,电影仍在播放。我尝试获取底层的MPMoviePlayerController,并在viewdiddemouse方法中给它一个“pause”消息,但它似乎从未被调用(方法中的NSLog语句从未出现)。因此,我确信有一种简单的方法可以通过MPMoviePlayerController告诉MPMoviePlayerController停止以编程方式播放它的电影,对吗?

您需要注册一些通知。请参阅MPMoviePlayerController类参考的“通知”部分:


特别是,注册以接收MPMoviePlayerDiexitFullScreenNotification和MPMoviePlayerPlaybackDidFinishNotification,并在发送这些通知时调用的方法中,通过发送“停止”消息停止播放电影。

您需要注册一些通知。请参阅MPMoviePlayerController类参考的“通知”部分:


特别是,注册以接收MPMoviePlayerDiexitFullScreenNotification和MPMoviePlayerPlaybackDidFinishNotification,并在发送这些通知时调用的方法中,通过发送“停止”消息停止播放电影。

但是,如果您想在视频播放结束之前停止下载视频,该怎么办。例如,当您转到其他屏幕时


对我来说,我尝试在调用VideoWillEnglish方法时停止视频。然而,即使当前的视频已经消失,视频仍然可以下载

但是,如果您想在视频播放结束之前停止下载视频,该怎么办呢。例如,当您转到其他屏幕时


对我来说,我尝试在调用VideoWillEnglish方法时停止视频。然而,即使当前的视频已经消失,视频仍然可以下载

只需将MPMoviePlayerViewController子类化,在选择时从表/导航加载子类,然后将其添加到该子类中:

-(void)viewWillDisappear:(BOOL)animated {
    [self.moviePlayer stop];    
}

只需将mpmovieplayervewcontroller子类化,在选择时从表/导航加载子类,然后将其添加到该子类:

-(void)viewWillDisappear:(BOOL)animated {
    [self.moviePlayer stop];    
}

在我所看到的情况下,当视频播放器从控制器堆栈中弹出时,似乎没有任何通知发出。请参阅下面的解决方案,该解决方案确实有效。在我所看到的情况下,当视频播放器从控制器堆栈弹出时,似乎没有任何通知发出。请参阅下面的解决方案,该解决方案确实有效。最后!我一直在寻找这个解决方案。现在我知道了,这应该是显而易见的。不过,别忘了调用[super ViewWillEnglish:animated];最后我一直在寻找这个解决方案。现在我知道了,这应该是显而易见的。不过,别忘了调用[super ViewWillEnglish:animated];