Cómo evitar que mi MPMoviePlayerController se vuelva negro cuando regresa de un webView que contiene un video de YouTube – iOS

Aquí está el context: NavigationController -> FirstViewController -> SecondViewController

FirstViewController muestra un MPMoviePlayerController en modo embedded y botones para ir a SecondViewController. Este MPMoviePlayerController está leyendo un file local .m4v.

SecondViewController muestra una UIWebView con páginas web que contienen videos de YouTube.

Estos son los pasos:

  1. el usuario lee el video en FirstViewController (funciona bien)
  2. el usuario presiona uno de los botones para ir a SecondViewController
  3. el usuario presiona uno de los videos de YouTube, que se reproducirán en modo embedded en el webView (funciona bien también)
  4. el usuario presiona el button Atrás en NavigationItem

El problema aparece en este momento particular:

Cuando el usuario regrese de SecondViewController, MPMoviePlayerController es negro.

Intenté usar prepareToPlay en el moviePlayer en viewWillAppear y / o viewDidAppear. En ambos casos, obtuve un buen resultado durante medio segundo y luego la vista de MoviePlayer se volvió a negro nuevamente. Creo que cuando se llama a viewDidUnload en el SecondViewController, sucede algo que permite acceder brevemente al MoviePlayer embebido en la web.

¿Alguna idea sobre cómo resolver el problema?

Nota: esto solo aparece en un dispositivo porque los videos no aparecen en UIWebView en el simulador. Traté de reproducirlo con otro MPMoviePlayerController en la segunda vista, pero poniendo un prepareToPlay en viewDidAppear lo resolvió …

Nota 2: este problema solo aparece en el iPad. Intenté reproducirlo en iPhone, pero el reproductor de YouTube no reproducirá video en modo embedded en iPhone …

No debe haber un código de reproductor de películas. Simplemente coloque su url de video en su código de vista web, funcionará bien.