通知センターを使用して MPMoviePlayerPlaybackDidFinishNotification を受信していますが、これは期待どおりに機能します。
NSURL * url = [[NSURL alloc] initWithString:@"http://INFINITECREATIVEUNIVERSE.COM/Media/module_1_Dec/c_January27AffactPerfect.mov"];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
[moviePlayer.view setFrame:CGRectMake(0, 0, 500, 260)];
[self.view addSubview:moviePlayer.view];
//Some addiontal customization
moviePlayer.fullscreen = YES;
moviePlayer.allowsAirPlay = YES;
moviePlayer.shouldAutoplay = YES;
moviePlayer.controlStyle = MPMovieControlStyleEmbedded;
//moviePlayer.endPlaybackTime = NO;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playMovieFinished:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
セレクターは、私がやりたいことを行います。
-(void)playMovieFinished:(NSNotification*)theNotification
{
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
// Change Segue ID Here
[self performSegueWithIdentifier:@"VC_5" sender:self];
}
ビデオの再生中に [次へ] ボタンをクリックすると、問題が発生します。次の ViewController が表示されると、ビデオは表示されず、前の ViewController からのオーディオを聞くことができます。
私の質問は、View Controller と MPMoviePlayer を適切に閉じるにはどうすればよいかということです。迷っています。サンプルの MoviePlayer プロジェクトを Apple からダウンロードしましたが、現在は推奨されておらず、正しく動作しません。これを機能させる方法がわかりません。私は質問を正しくしたと指を交差させています。初歩的な質問をお許しください。ありがとうロバート