Como colocar os vídeos do YouTube no iOS

Como vimos no post sobre vídeos no iOS, para rodar vídeos atráves do MediaPlayer Framework precisamos de um link para um vídeo com extensão de vídeo. Os vídeos do youtube não podem ser acessados diretamente do servidor deles e, por isso não basta colocar o link para o nosso vídeo do youtube.

Por | @reprotector Programação

Como vimos no post sobre vídeos no iOS, para rodar vídeos atráves do MediaPlayer Framework precisamos de um link para um vídeo com extensão de vídeo. Os vídeos do youtube não podem ser acessados diretamente do servidor deles e, por isso não basta colocar o link para o nosso vídeo do youtube.

Para isso, precisamos retirar diretamente do youtube a parte onde está o vídeo e exibí-la na tela. Vi pela primeira vez esse código neste site, e sempre que preciso utilizar um vídeo rodando diretamente do youtube o utilizo.

Neste código estamos criando uma nova classe que irá conter o método para a exibição do vídeo. O que o método faz é uma espécie de “parser” do conteúdo do you tube, colocando na tela apenas o vídeo.

Um comentário antes do código em si: o código abaixo não funciona no simulador. Funciona perfeitamente no dispositivo mas não funciona no simulador. Existem algumas coisas que não podem ser testadas no simulator, e essa é uma delas.

Arquivo YouTubeView.m:

#import "YouTubeView.h"
 
@implementation YouTubeView
 
#pragma mark -
#pragma mark Initialization
 
- (YouTubeView *)initWithStringAsURL:(NSString *)urlString frame:(CGRect)frame;
{
  if (self = [super init])
  {
        // Create webview with requested frame size
        self = [[UIWebView alloc] initWithFrame:frame];
 
        // HTML to embed YouTube video
        NSString *youTubeVideoHTML = @"
                          
                          </embed>
                          </body></html>";
 
        // Populate HTML with the URL and requested frame size
        NSString *html = [NSString stringWithFormat:youTubeVideoHTML, urlString, frame.size.width, frame.size.height];
 
        // Load the html into the webview
        [self loadHTMLString:html baseURL:nil];
    }
 
  return self; 
}
 
#pragma mark -
#pragma mark Cleanup

- (void)dealloc
{
    [super dealloc];
}
 
@end


YouTubeView.h
#import 
 
@interface YouTubeView : UIWebView
{
}
- (YouTubeView *)initWithStringAsURL:(NSString *)urlString frame:(CGRect)frame;
@end


Agora que temos nossa classe pronta, podemos utilizá-la em outras partes do projeto. Para isso, vamos alocar um objeto de YouTubeView e chamar o método initWithStringAsUrl. Neste método estamos passando a URL do vídeo no youtube e o frame que ele estará na tela. Este frame segue o padrão de (x,y,largura,altura).
youTubeView = [[YouTubeView alloc] initWithStringAsURL:@"http://www.youtube.com/watch?v=yatSAEqNL7k" frame:CGRectMake(0, 0, 120, 120)];
[self.view addSubview:youTubeView];


Não se esqueça de declarar o objeto youTubeView do tipo YouTubeView no seu .h e de dar release quando não for mais usá-lo.

Mais sobre: ios youtube framework
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar