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 の再生を開始すると、コントロールが非表示になりますが、2 番目のムービーの再生が開始されると再び表示されます。

[self.moviePlayerController setContentURL:videoURL];
[self.moviePlayerController setControlStyle:MPMovieControlStyleNone];
[self.moviePlayerController play];

通知が再び発生し、正しく がcontrolStyle設定MPMovieControlStyleNoneされていMPMovieControlStyleDefaultます。

誰でもこれを経験したことがありますが、2回目の再生でコントロールが非表示になっていることを確認する方法はありますが、ユーザーがムービービューをタップすると実際に表示されます.

ありがとう!

4

0 に答える 0