Добре, моят код възпроизвежда филм на цял екран без контроли за потребителя (по същество кинематографичен). След като филмът приключи, моето 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;