2012-09-19 10 views
8

Ho un MPMoviePlayerController sulla mia app per iPad che funziona bene quando il suo frame è regolare (non a schermo intero).MPMoviePlayerController non riproduce i filmati a schermo intero

Quando tocco il pulsante a schermo intero, il lettore diventa a schermo intero, ma il film si ferma. Per sempre vedo il titolo "Caricamento in corso ...", uno sfondo nero e i controlli standard (back, play e successivo) disabilitati.

dichiaro una variabile di istanza per il giocatore:

MPMoviePlayerController *player; 

Nella mia implementazione:

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoUrl]; 

player.shouldAutoplay = NO; 
player.movieSourceType = MPMovieSourceTypeFile; 
player.controlStyle = MPMovieControlStyleEmbedded; 
player.allowsAirPlay = YES; 

player.view.frame = CGRectMake(xPos, yPos, width, height); 

[self.view addSubview:player.view]; 

[player prepareToPlay]; 

Avete qualche idea? Sto usando iOS 6 SDK e sto testando l'app sul simulatore di iPad 6.0 e un vero iPad2 con iOS 6 beta (più recente).

+0

Aggiornamento: Ho installato iOS 6 ufficiale su iPad2 e il problema è ancora lì. Quindi non è dovuto alla versione beta di iOS 6. –

risposta

27

OMG !!!

ho scritto ...

[player stop]; 

in viewWillDisappear !!! Come potrei essere così stupido ?! Nessuna torta stasera ...

+0

Non sei stupido. viewWillDisappear non è stato chiamato in iOS 5. Ho avuto problemi dopo l'aggiornamento a iOS 6 a ... Ho fatto un registro di ciò che ho trovato su questo: http://stackoverflow.com/a/12604827/1324647 – Yudmt

+0

Questo non è stupido , questa era la cosa più intelligente da fare prima di iOS6, dal momento che 'MPMoviePlayerController' non ha creato un VC sulla parte superiore del tuo VC esistente. Grazie per il tuo Q + A, ho appena passato un'ora a provare a diagnosticare lo stesso problema! –

+0

Esattamente il nostro problema. Grazie. – SpacyRicochet