Hola developers, continuamos con los ejercicios básicos en iOS con el numero 20.
Ejercicio 20 : Reproducción video en iPhone :
iOS soporta la mayoria de los codecs de video, el más común es .mp4 (sistema H263, H264)
En este ejercicio primero lo haremos insertando el vídeo en el proyecto, además del framework necesario: MediaPlayer por medio de una vista.
Creamos un proyecto de la forma habitual: create new proyect - single view application :
Después añadimos el framework necesario para hacer el objeto MPMoviePlayer, así que sobre el proyecto hacemos click y en Build Phases, en la opción Link Binary With Libraries pulsando el + añadimos la libreria MediaPlayer.framework.
Ahora hacemos la instancia global MPMoviePlayerController, que va a ser donde se va a reproducir nuestro vídeo, lo hacemos en el archivo .h; añadimos video al proyecto, no olvidemos importar la librería.
Clickamos en el botón derecho en la carpeta del proyecto y seleccionando Add Files to "nombreProyecto", seleccionamos el archivo y lo añadimos :
.H
// ViewController.h // Reproductor_video // Copyright (c) 2014 ___FULLUSERNAME___. All rights reserved. // #import#import @interface ViewController : UIViewController @property (nonatomic,strong) MPMoviePlayerController *Reproductor; @end
Por último ponemos en el código .M ponemos el código necesario para reproducir el vídeo que anteriormente hemos importado al proyecto
.M
// ViewController.m // Reproductor_video // // Created by makone moreno on 12/09/14. // Copyright (c) 2014 ___FULLUSERNAME___. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize Reproductor; - (void)viewDidLoad { [super viewDidLoad]; //INSTANCIAMOS EL VIDEO NSString *video= [[NSBundle mainBundle]pathForResource:@"shark" ofType:@"mp4"]; //RUTA DEL VIDEO NSURL *direccion= [[NSURL alloc]initFileURLWithPath:video]; //INICIALIZAMOS Reproductor=[[MPMoviePlayerController alloc] initWithContentURL:direccion]; //CONFIGURAMOS LA PROPIEDAD VIEW DEL REPRODUCTOR PARA ASIGNARLE UN TAMAÑO Reproductor.view.frame=CGRectMake(30, 30, 200, 200); //Y AHORA SU VISTA LA AÑADIMOS A LA VISTA PRINCIPAL [self.view addSubview:Reproductor.view]; [Reproductor play]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
Ejecutamos el proyecto para probarlo.
También podemos usar MPMoviePlayerController para reproducir videos en streaming.
Los vídeos suelen ser ficheros grandes que pueden tardar en cargarse un tiempo determinado.Para todo aquel que no sepa que significa "in Streaming", se hace referencia al video que se graba en modo "online" es decir, en directo.
Subimos un video a dropbox, de la misma manera que se explica como subir una imagen aquí.
Si queremos saber cuando ha terminado la carga del vídeo podemos insertarlo a la notificación MPMoviePlayerContentPreloadDidFinishNotification así:
.M
// ViewController.m // Reproductor_video // // Created by makone moreno on 12/09/14. // Copyright (c) 2014 ___FULLUSERNAME___. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize Reproductor; - (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [NSURL URLWithString:@"https://dl.dropbox.com/s/kgxftmkehugywzm/shark.mp4?dl=0"]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlaybackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:Reproductor]; //INICIALIZAMOS Reproductor=[[MPMoviePlayerController alloc] initWithContentURL:url]; //CONFIGURAMOS LA PROPIEDAD VIEW DEL REPRODUCTOR PARA ASIGNARLE UN TAMAÑO Reproductor.view.frame=CGRectMake(30, 30, 200, 200); //Y AHORA SU VISTA LA AÑADIMOS A LA VISTA PRINCIPAL [self.view addSubview:Reproductor.view]; [Reproductor play]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
Y bien este es el resultado, como podeis observar se crean los controles de forma automática sin necesidad de insertar código :
Indice | Ejercicio anterior | Siguiente ejercicio |
0 comentarios:
Publicar un comentario