我正在尝试构建具有以下功能的后退按钮:单击该按钮时,正在播放的视频应该停止。 在我的情况下,它从超视图中删除,但视频仍然在后台播放。 我正在做如下,但它无法正常工作
-(IBAction)backButtonPressed
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieDidExitFullScreen:) name:MPMoviePlayerPlaybackDidFinishNotification object:player];
[self.navigationController popViewControllerAnimated:YES];
}
- (void) movieDidExitFullScreen:(NSNotification*)notification
{
[[NSNotificationCenter defaultCenter] removeObserver: self
name:MPMoviePlayerPlaybackDidFinishNotification
object: [notification object]];
MPMoviePlayerController *theMovie1 = [notification object];
[self.navigationController popViewControllerAnimated:YES];
[theMovie1 release];
}
答案 0 :(得分:0)
将您的后退按钮操作事件替换为下方。
-(IBAction)backButtonPressed
{
[player stop];
[player release];
player =nil;
[self.navigationController popViewControllerAnimated:YES];
}
这将停止玩家并在返回之前释放它。希望这有帮助。
答案 1 :(得分:0)
您实际上没有停止在该代码中播放电影,您只是删除了视频显示的视图。您设置视频停止时间的通知,以便在视频播放完毕之前不会调用movieDidExitFullScreen
方法。最简单的解决方案是拨打[theMovie1 stop]
,但您需要以某种方式从backButtonPressed