MPMoviePlayerViewControllerの自動再生をOFFにした状態でバックグラウンドに入り、
そこからまた画面に戻ると画面が真っ黒になります。
タップしたら再生するようにしていますが、
真っ黒の状態でタップすると動画が正常に再生されます。
バックグラウンドから戻ってきた時、画面が真っ黒にならず動画が正常に表示されるようにするにはどのようにすれば良いでしょうか?
objc
1 2- (void)viewDidLoad { 3 filePath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"001 4" ofType:@"mp4"]]; 5 MPMPlayerController = [[MPMoviePlayerViewController alloc]initWithContentURL:filePath ]; 6 MPMPlayerController.moviePlayer.backgroundView.backgroundColor = [UIColor clearColor]; 7 MPMPlayerController.moviePlayer.controlStyle = MPMovieControlStyleNone; 8 //MPMPlayerController.view.frame = self.view.frame; 9 MPMPlayerController.view.frame = CGRectMake(0, 0,320, 568); 10 11 //タップしたら動画開始 12 //MPMPlayerController.view.tag = 0; 13 playbool = YES; 14 15 [[NSNotificationCenter defaultCenter] addObserver:self 16 selector:@selector(splashMoviePlayBackDidFinish:) 17 name:MPMoviePlayerPlaybackDidFinishNotification 18 object:nil]; 19 20 [[NSNotificationCenter defaultCenter] removeObserver:MPMPlayerController 21 name:MPMoviePlayerPlaybackDidFinishNotification 22 object:MPMPlayerController.moviePlayer]; 23 24 MPMPlayerController.moviePlayer.scalingMode = MPMovieScalingModeAspectFill; 25 [MPMPlayerController.moviePlayer setFullscreen:YES animated:NO]; 26 27 [self.view addSubview:MPMPlayerController.view]; 28 29 //[MPMPlayerController.moviePlayer pause]; 30 MPMPlayerController.moviePlayer.shouldAutoplay = NO;
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; MPMPlayerController.view.userInteractionEnabled = NO; if(playbool == YES){ playbool = NO; if ((MPMPlayerController.moviePlayer.playbackState==MPMoviePlaybackStateStopped)||(MPMPlayerController.moviePlayer.playbackState==MPMoviePlaybackStatePaused)) { [MPMPlayerController.moviePlayer play]; } } }
あなたの回答
tips
プレビュー