ビューと 4 つのボタンで構成される非常にシンプルな iOS iPad アプリを作成しています。したがって、基本的にはストーリーボードにあります。
->ViewController
->View (this is added just for alignment and position sake, nothing else)
->View
->Button1
->Button2
->Button3
->Button4
ボタンを押すと、4 つのボタンすべてで同じように、フルスクリーン モードでムービーが再生されます。ムービーが終了したか、ユーザーが「完了」を押したために、ムービーが終了すると、
[moviePlayer.view removeFromSuperview]
を使用してムービーを削除すると、すべてがアプリの初期状態に戻り、4 つのボタンが表示されます。
これは、ボタンが押されたときにムービーを再生するコードです
- (void) playMovie:(NSString *)fileName
ofType:(NSString *)fileType
{
NSString *filePath=[[NSBundle mainBundle] pathForResource:fileName ofType:fileType];
NSURL *fileUrl=[NSURL fileURLWithPath:filePath];
self.moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:fileUrl];
[self.view addSubview:self.moviePlayer.view];
self.moviePlayer.fullscreen = YES;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerWillExitFullscreenNotification
object:self.moviePlayer];
[self.moviePlayer prepareToPlay];
[self.moviePlayer play];
}
そして、これは私が映画を停止して削除するために使用するコードです:
- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
MPMoviePlayerController *player = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerWillExitFullscreenNotification
object:player];
if ([player respondsToSelector:@selector(setFullscreen:animated:)])
{
[player stop];
[player setFullscreen:NO animated:YES];
[player.view removeFromSuperview];
}
}
私が遭遇する問題は、これが実行された後、背景画像がなく(黒くなる)、どのボタンからも応答がない[player.view removeFromSuperview];
初期ビューに戻ることです。
ボタンを含むビューを削除し、ボタンをメイン ビューに追加すると、期待どおりに機能します。
これが明確でない場合は申し訳ありませんが、私は本や多くのウェブサイトを調べてきましたが、これを理解することができないようです.
乾杯!