iphone:如何点击“返回”按钮停止播放视频?

时间:2011-07-07 05:35:49

标签: iphone objective-c cocoa-touch ios4 mpmovieplayercontroller

我正在尝试构建具有以下功能的后退按钮:单击该按钮时,正在播放的视频应该停止。 在我的情况下,它从超视图中删除,但视频仍然在后台播放。 我正在做如下,但它无法正常工作

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

2 个答案:

答案 0 :(得分:0)

将您的后退按钮操作事件替换为下方。

-(IBAction)backButtonPressed
{
    [player stop];
    [player release];
    player =nil;
    [self.navigationController popViewControllerAnimated:YES];
}

这将停止玩家并在返回之前释放它。希望这有帮助。

答案 1 :(得分:0)

您实际上没有停止在该代码中播放电影,您只是删除了视频显示的视图。您设置视频停止时间的通知,以便在视频播放完毕之前不会调用movieDidExitFullScreen方法。最简单的解决方案是拨打[theMovie1 stop],但您需要以某种方式从backButtonPressed

中访问该电影