Хорошо, мой код воспроизводит фильм в полноэкранном режиме без каких-либо элементов управления для пользователя (в основном кинематографический). После того, как фильм закончен, мой NSNotification срабатывает и загружает представление.
Однако, когда пользователь нажимает кнопку «Домой» во время одного из этих фильмов, он приостанавливается, но нет никакого способа заставить его снова воспроизводиться, так как я убрал элементы управления. Я попытался поместить [playerController play] и [playerController shouldAutoplay] в свой AppDelegate.m в разделе applicationDidBecomeActive, но он там не определен, поэтому не знает, что такое playerController.
Может ли кто-нибудь помочь мне правильно приостановить и воспроизвести это видео, если пользователь получит текст или нажмет кнопку «Домой»?
-(IBAction)playMovie:(id)sender {
NSString *movieUrl = [[NSBundle mainBundle] pathForResource:@"Initiate" ofType:@"m4v"]; playerController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:movieUrl]];
[playerController.view setFrame: self.view.bounds];
[self.view addSubview:playerController.view];
playerController.controlStyle = MPMovieControlStyleNone;
[playerController shouldAutoplay];
[playerController play];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playbackFinished:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:playerController];
}
- (void)playbackFinished:(NSNotification*) notification {
playerController = [notification object];
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:playerController];
ViewController *viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:viewController animated:YES];
ИЗМЕНИТЬ:
Заголовок
//ViewController.h
@interface ViewController : UIViewController {
MPMoviePlayerController *playerController;
}
Выполнение
//ViewController.m
playerController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:movieUrl]];
AppDelegate *sharedAppDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
sharedAppDelegate.pointer = playerController;