私のプロジェクトではMPMoviePlayerController
、http URL からビデオをストリーミングしていました。フルスクリーンで再生します。ビデオの再生中に「完了」ボタンをタップすると、ビデオが停止して消えますが、問題は次のとおりです。ビデオ画面を閉じるためにピンチすると、ビデオ画面は消えますが、ビデオは引き続き再生され、ビデオのサウンドは引き続き再生されます。
フルスクリーン終了通知を検出し、ビデオを手動で停止しようとしましたが、うまくいきませんでした。私のmoviePlayerDidExitFullScreen
メソッドは呼び出されませんでした。
それを制御するために、正しい方法で通知を受け取っている場合、別の通知を取得しようとしました: MPMoviePlayerPlaybackStateDidChangeNotification
、それは機能しています。ビデオの起動時にメソッドを呼び出します。
多くのフォーラムや Apple のドキュメントを検索しましたが、十分な情報が見つかりませんでした。
フルスクリーンのビデオを開き、フルスクリーンの終了を検出するコードは次のとおりです。
- (void)openFullVideo
{
NSString* path = @"http://trtvizyon.mysys.com/test/leyla_ile_mecnun.mp4";
NSURL *fileURL = [NSURL URLWithString:path];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerDidExitFullScreen:) name:MPMoviePlayerDidExitFullscreenNotification object:nil];
player.controlStyle = MPMovieControlStyleDefault;
player.movieSourceType = MPMovieSourceTypeStreaming;
[self.view addSubview:player.view];
[player setFullscreen:YES animated:YES];
[player play];
}
- (void) moviePlayerDidExitFullScreen:(id)sender {
NSLog(@"moviePlayerDidExitFullScreen");
}