如何在MPMoviePlayerController中停止视频下载

时间:2010-03-04 07:08:15

标签: ios objective-c video mpmovieplayercontroller playback

我有一个要求,我必须播放远程位置的视频文件。

我将URL传递给MPMoviePlayerController实例并调用方法play。

现在,电影正在下载。我在电影完全加载之前点击了“完成”按钮,然后回到了根视图。

调用了MPMoviePlayerPlaybackDidFinishNotification通知。我停止了视频并释放了播放器。这是代码

- (void)movieDidFinish:(NSNotification *)aNotifciation
{

    [self.moviePlayer stop];

    [self removeActivityIndicatorView];

    [self.tableView reloadData];

    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:nil];

    [moviePlayer release];

    moviePlayer = nil;

}

但是,视频仍在后台加载,我也能听到音频。

这绝不可能发生。

任何人都可以为此提供解决方案吗?

2 个答案:

答案 0 :(得分:1)

[movieplayer stop];
movieplayer.initialPlaybackTime = -1.0;
[movieplayer release]; 

将初始播放时间设置为-1可以解决您的问题。

答案 1 :(得分:0)

注册MPMoviePlayerController完成时发出的NSNotification。这是一个例子:

[[NSNotificationCenter defaultCenter]  
    addObserver:self 
       selector:@selector(movieFinishedCallback:)                                                  
           name:MPMoviePlayerPlaybackDidFinishNotification 
         object:player]; 

放置它的好地方是你的主ViewController类的“viewDidLoad”。

然后在你的方法“movieFinishedCallback:”中(它获取一个作为参数传入的NSNotification对象,你可以用它来查找关于你喜欢的整理类型的更多细节)你只需关闭movieplayercontroller