Desenvolvimento

30 jun, 2011

Reproduzindo arquivos MP4 em aplicativos para iOS

Publicidade

Olá, pessoal,  vamos aprender um pouco mais sobre o mundo iOS. Hoje iremos colocar um vídeo MP4 para funcionar dentro do XCode. Você irá aprender como tocar vídeos diretamente do seu XCode para seus dispositivos iPhone, iPad e iPod. Lembrando que estou utilizando o XCode 4 para demonstrar as telas de desenvolvimento e a conclusão do tutorial, mas poderá ser aplicado em versões anteriores do XCode para funcionamento.

Este tutorial irá utilizar uma aplicação simples chamado de “videoMP4” para demonstrar o uso da classe MediaPlayerMPMoviePlayerController do SDK 4 iOS.

Primeira Etapa


Inicie um projeto com View-based Application.


Veja que passei para a próxima tela para informar o nome da minha aplicação e qual dispositivo (device) irei empregar minha aplicação. Não iremos dar um “checklist” no Include Unit Tests. Ficará desabilitado.

Segunda Etapa


Iremos adicionar a livraria que irá controlar o vídeo na aplicação. Precisamos adicionar o framework “MediaPlayer.Framework”.

Depois de adicionado, agora o projeto já está disponível para iniciar a inclusão do vídeo para rodar. Mas, antes de importar o vídeo e iniciar nossa codificação, precisamos incluir a classe no nosso arquivo “videoMP4ViewController.m”

#import<MediaPlayer/MediaPlayer.h>

Terceira Etapa

Agora podemos importar o vídeo para dentro de nossa aplicação. Deixei um vídeo capturado no YouTube, mas poderá utilizar qualquer vídeo mp4 existente em sua biblioteca ou repositório de vídeos pessoal.

O nome do arquivo é “super_mario_beatbox.mp4”. Para capturar este vídeo na internet (Youtube), utilizei o plugin do Firefox chamado “DownloadHelper”, ele já salva o arquivo no formato que precisamos.


Agora o que precisamos é somente adicionar no método “viewDidLoad” a chamada para acionar (play) no vídeo e uma outra função para remover da tela e liberar o objeto com próprio evento de Callback do MediaPlayer.

No seu “viewDidLoad” ficará assim:

- (void)viewDidLoad
{
NSString *url = [[NSBundlemainBundle] pathForResource:@"super_mario_beatbox"ofType:@"mp4"];
MPMoviePlayerController *player = [[MPMoviePlayerControlleralloc] initWithContentURL:[NSURLfileURLWithPath:url]];

[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotificationobject:player];
player.view.frame = CGRectMake(0, 0, 320, 200);
[self.viewaddSubview:player.view];

[playerplay];

[superviewDidLoad];
}

E adicione esse método também logo abaixo para remover e desalocar o objeto criado no viewDidLoad.

- (void) movieFinishedCallback:(NSNotification*) aNotification {

MPMoviePlayerController *player = [aNotificationobject];
[[NSNotificationCenterdefaultCenter] removeObserver:selfname:MPMoviePlayerPlaybackDidFinishNotificationobject:player];
[playerstop];

[self.viewremoveFromSuperview];

[playerrelease];
}

Finish


Pronto! Sua aplicação com vídeo MP4 está finalizada. Agora é usar e abusar da criatividade para montar as mais variadas formas de suas Apps. Divirta-se!

Dúvidas e críticas estão abertas. Na próxima, veremos outros recursos do que o iOS fazer por você. Até a próxima.