【发布时间】:2011-09-12 05:58:23
【问题描述】:
我有一个详细视图,当 viewdidload 在 detailviewcontroller 中时,MPMoviePlayerController 分配并播放音频,但即使我导航回主表,音频仍在播放。
当我导航回主表时如何停止 MPMovieplayercontroller?这是我的 MPMoviePlayerController 代码:
.h
MPMoviePlayerController *player;
.m
- (void)viewDidLoad
{
[super viewDidLoad];
//Get the Movie
NSURL *movieURL = [NSURL URLWithString:@"some link"];
player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
//Place it in subview, else it won’t work
player.view.frame = CGRectMake(20, 20, 280, 25);
player.backgroundView.backgroundColor = [UIColor clearColor];
[self.view addSubview:player.view];
// Play the movie.
[player play];
}
我什至在 viewdidunload 方法中添加了以下代码,但没有用。
- (void)viewDidUnload {
[player stop];
player.initialPlaybackTime = -1;
[player release];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
你们有什么建议?
提前致谢,
【问题讨论】:
-
尝试使用 viewWillDisappear 而不是 viewDidUnload。还要从其父视图中删除 MPVideoPlayerController.view。
-
如何从superview中移除玩家?
-
[player.view removeFromSuperview];
-
viewWillDisappear 方法工作正常,但我没有从其超级视图中删除播放器。 viewDidUnload 时我应该删除它吗?
标签: mpmovieplayercontroller mpmovieplayer