我有一个要求,我必须播放远程位置的视频文件。
我将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;
}
但是,视频仍在后台加载,我也能听到音频。
这绝不可能发生。
任何人都可以为此提供解决方案吗?
答案 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