2010-02-07 13 views
9

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

Gracias,

+0

se refieren a http://www.devx.com/wireless/Article/44642/ 1954 – Forrest

Respuesta

19
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];  
+1

gracias ... funcionó para mí, – Biranchi

+1

funciona bien para todos ¿por qué no para mí ... solo reproduce audio sin imágenes están ahí –

0

estoy bastante seguro de que su roto en el 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 el propio video de Apples que se reproducirá en el simulador de iPad con safari ... Así, el video de fondo se reproduce en simulador-ipad dentro de Safari pero no desde una aplicación que usa la clase MpMoviePlayer. Error o característica, usted decide. (Creo que está roto). notas de la versión para esta versión tienen un montón de cambios que tienen lugar en la clase MPMoviePlayer ...

3

Es necesario utilizar MPMoviePlayerViewController, no MPMoviePlayerController. Busque en los documentos MPMoviePlayerViewController.

2

cambiar esta línea:

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

a

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

necesita el *

3

probar este en su controlador de vista:

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

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

2

He luchado por todas partes con esto: el código de muestra propio de MoviePlayer de Apple no reproduce video, solo audio. De hecho, me tomó años darme cuenta de que era reproduciendo audio porque el video del avión de muestra que suministran NO TIENE PISTA DE AUDIO !!! (Así que hago clic en el botón y no obtengo absolutamente nada.)

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

Esto funciona: en initAndPlayMovie después de [la liberación mp]:

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

Buen viaje y feliz :) volar

Cuestiones relacionadas