Pregunta

He desarrollado una aplicación para iPhone que ha estado ejecutando MPMoviePlayer (pre 3.2 SDK) sin problemas. Sé que esta es una pregunta de novato, pero ¿cómo consigo una película para reproducir en el nuevo mpmovieplayerviewcontroller? Solo estoy recibiendo audio y deseo aprender el nuevo controlador de vista. He portado toda mi aplicación al iPad y todo lo demás funciona bien excepto el video. ¿Alguien podría mostrar un ejemplo usando el controlador de vista de película? Cualquier ayuda sería apreciada.

Gracias,

¿Fue útil?

Solución

NSURL* videoURL = [NSURL URLWithString:url];
MPMoviePlayerController   moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer prepareToPlay];
[moviePlayer play];
//For viewing partially.....
[moviePlayer.view setFrame:CGRectMake(50, 200, (self.view.frame.size.width)-100 , 400)];
moviePlayer.view.backgroundColor = [UIColor grayColor]; 
[self.view addSubview:moviePlayer.view];    

Otros consejos

Debe usar mpmovieplayerviewController, no mpmovieplayerController. Busque en los documentos para MPMoviePlayViewController.

Prueba esto en tu controlador de vista:

MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
[self presentMoviePlayerViewControllerAnimated:theMoviePlayer];

Esto debería comenzar, pero consulte la referencia de la clase MPMoviePlayViewController para obtener información detallada.

He luchado por todo el lugar con esto: el propio código de muestra de películas de Apple no reproduce video, solo audio. En realidad me tomó años descubrir que estaba ¡Reproducir audio porque el video de avión de muestra que suministran no tiene pista de audio! (Así que hago clic en el botón y no tengo absolutamente nada).

Gracias por todas las sugerencias aquí. Finalmente encontré https://developer.apple.com/library/ios/#qa/qa2010/qa1240.htmlE incluso esa es una solución oscura.

Esto funciona: en initandplaymovie después de [lanzamiento de MP]:

[[self.moviePlayer view] setFrame:[window bounds]];// size to fit parent view exactly
[window addSubview:[self.moviePlayer view]];

Bon Voyage y feliz volando :)

Cambiar esta línea:

MPMoviePlayerController  moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

a

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

necesitas el *

¡Estoy bastante seguro de que está roto en simulador en la actualidad! Obtengo el mismo comportamiento (sin video pero escucho audio) con el último SDK y su propio código de muestra MPMoviePlayer con Video propio de manzanas que se reproducirán en Simulador de iPad usando Safari ... así que el video de fondo se reproduce en Simulator-IPad dentro de Safari pero no desde desde Una aplicación que usa la clase MPMoviePlayer. Error o característica, usted decide. (Creo que está roto). Las notas de versión para esta versión tienen muchos cambios en la clase MPMoviePlayer ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top