Ios 如何在MPMoviePlayerController中停止视频下载

Ios 如何在MPMoviePlayerController中停止视频下载,ios,objective-c,video,mpmovieplayercontroller,playback,Ios,Objective C,Video,Mpmovieplayercontroller,Playback,我有一个要求,我必须播放视频文件,这是在远程位置可用 我将URL传递给MPMoviePlayerController实例,并调用play方法 现在,电影正在下载。在电影完全加载并返回根视图之前,我已经单击了“完成”按钮 已调用MPMoviePlayerPlaybackDidFinishNotification通知。我已经停止了视频并释放了播放器。这是密码 - (void)movieDidFinish:(NSNotification *)aNotifciation { [self.mov

我有一个要求,我必须播放视频文件,这是在远程位置可用

我将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;

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

这决不能发生

有人能给出解决办法吗

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

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

您需要注册MPMoviePlayerController在完成时发出的NSNotification。以下是一个例子:

[[NSNotificationCenter defaultCenter]  
    addObserver:self 
       selector:@selector(movieFinishedCallback:)                                                  
           name:MPMoviePlayerPlaybackDidFinishNotification 
         object:player]; 
将其放在主ViewController类的“viewDidLoad”中是一个很好的位置

然后,在方法“movieFinishedCallback:”(该方法获取作为参数传入的NSNotification对象,您可以使用该对象查找有关完成类型的更多详细信息,如果您愿意的话),您只需关闭movieplayercontroller