0

我有一个 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];

通知确实会再次触发,并且它正确地有一个controlStyleMPMovieControlStyleNone然后我将其设置为MPMovieControlStyleDefault.

任何人都对此有任何经验,有没有办法确保控件在第二次播放时保持隐藏状态,但实际上在用户点击电影视图时可见。

谢谢!

4

0 回答 0