Został utworzony pusty projekt (iOS) i umieścić w moim viewDidLoad:iOS: Jak korzystać MPMoviePlayerController
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"Movie" ofType:@"m4v"];
MPMoviePlayerViewController *playerController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]];
[self presentMoviePlayerViewControllerAnimated:playerController];
[playerController.moviePlayer play];
Kiedy aplikacja uruchamia wszystko mam to biały ekran z komunikatami o błędach w log:
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextClipToRect: invalid context 0x0
<Error>: CGContextTranslateCTM: invalid context 0x0
<Error>: CGContextDrawShading: invalid context 0x0
<Error>: CGContextRestoreGState: invalid context 0x0
Warning: Attempt to present <MPMoviePlayerViewController: 0x821e3b0> on <ViewController: 0x863aa40> whose view is not in the window hierarchy!
... i kilka wierszy dotyczących wyłączenie autoodtwarzania. Szczególnie nie rozumiem linii o widoku nie będącym częścią hierarchii, ponieważ jest to pusty projekt "iOS" z pojedynczą przeglądarką, a kod jest w ViewController.m. Jest w hierarchii widoku.
Wiem na pewno, że sam plik filmu nie jest problemem, ponieważ dostałem go z przykładowego kodu Apple na MPMoviePlayer. I chociaż (na pozór) próbowałem wszystkiego, co napisałem w próbce, po prostu nie mogłem zmusić gracza do pracy.
Oto kolejna próba, tym razem z MPMoviePlayerController (nie MPMoviePlayerViewController):
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:url];
[player setContentURL:url];
[player setMovieSourceType:MPMovieSourceTypeFile];
[[player view] setFrame:self.view.bounds];
[player view].backgroundColor = [UIColor greenColor];
player.scalingMode = MPMovieScalingModeNone;
player.controlStyle = MPMovieControlModeDefault;
player.backgroundView.backgroundColor = [UIColor whiteColor];
player.repeatMode = MPMovieRepeatModeNone;
[self.view addSubview: [player view]];
[player play];
Podobny wynik, z białego ekranu i błędów. Proszę pomóc ....
Spróbuj umieścić go w 'viewDidAppear'. –
Umieszczenie go w widokuDidAppear rozwiązało błędy kontekstu, dziękuję, ale nadal nie dostaję odtwarzacza, tylko biały ekran –