我有一个 MPMoviePlayerController 设置:
self.moviePlayerController = [[MPMoviePlayerController alloc] init];
[self.moviePlayerController.view setFrame:frame];
// hide controls initially
[self.moviePlayerController setControlStyle:MPMovieControlStyleNone];
[self.view addSubview:self.moviePlayerController.view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loadStateChanged:) name:MPMoviePlayerLoadStateDidChangeNotification object:self.
moviePlayerController];
然后当通知被触发时:
-(void)loadStateChanged:(NSNotification*)notification {
if (self.moviePlayerController.controlStyle == MPMovieControlStyleNone) {
[self.moviePlayerController setControlStyle:MPMovieControlStyleDefault];
}
}
在初始播放时效果很好,播放开始时不显示控件,但点击视图会显示控件。
但是,当一部电影已经在播放并且我开始播放另一个 URL 时,我隐藏了控件,但它们会在第二部电影开始播放后重新出现:
[self.moviePlayerController setContentURL:videoURL];
[self.moviePlayerController setControlStyle:MPMovieControlStyleNone];
[self.moviePlayerController play];
通知确实会再次触发,并且它正确地有一个controlStyle
,MPMovieControlStyleNone
然后我将其设置为MPMovieControlStyleDefault
.
任何人都对此有任何经验,有没有办法确保控件在第二次播放时保持隐藏状态,但实际上在用户点击电影视图时可见。
谢谢!