Ho creato un progetto vuoto (iOS) e mettere questo nel mio viewDidLoad:iOS: Come utilizzare MPMoviePlayerController
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"Movie" ofType:@"m4v"];
MPMoviePlayerViewController *playerController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]];
[self presentMoviePlayerViewControllerAnimated:playerController];
[playerController.moviePlayer play];
Quando l'applicazione si avvia tutto quello che ottiene è una schermata bianca con messaggi di errore nel 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!
... e un gruppo di linee per quanto riguarda la disattivazione automatica. In particolare, non capisco la linea sulla vista che non fa parte della gerarchia poiché è un progetto iOS "Single View Application" vuoto e il codice è in ViewController.m. È nella gerarchia della vista.
So per certo che il file filmato non è il problema perché l'ho preso dal codice di esempio di Apple su MPMoviePlayer. E sebbene io (apparentemente) abbia provato tutto ciò che è stato scritto nel campione, non sono riuscito a far funzionare il giocatore.
Ecco un altro tentativo, questa volta con MPMoviePlayerController (non 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];
risultato simile, con schermo bianco e gli errori. Please help ....
provare a mettere in 'viewDidAppear'. –
Inserirlo in viewDidAppear risolto gli errori di contesto, grazie, ma non riesco ancora a ottenere il lettore, solo una schermata bianca –