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 の再生を開始すると、コントロールが非表示になりますが、2 番目のムービーの再生が開始されると再び表示されます。
[self.moviePlayerController setContentURL:videoURL];
[self.moviePlayerController setControlStyle:MPMovieControlStyleNone];
[self.moviePlayerController play];
通知が再び発生し、正しく がcontrolStyle
設定MPMovieControlStyleNone
されていMPMovieControlStyleDefault
ます。
誰でもこれを経験したことがありますが、2回目の再生でコントロールが非表示になっていることを確認する方法はありますが、ユーザーがムービービューをタップすると実際に表示されます.
ありがとう!