Estou tentando transmitir alguns vídeos do YouTube usando o MPMoviePlayerController, mas estou tendo alguns problemas. O código que estou usando é muito simples e posso reproduzir vídeos .m4v passando uma URL para initWithContentURL. Quando eu inicio o reprodutor de filmes, o reprodutor é ativado, mas desaparece após cerca de 20 segundos. Quando tento no simulador, recebo um alerta que diz que o servidor não está configurado corretamente. Preciso passar um argumento com o URL para obter um tipo específico de feed de vídeo do Google?
NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer play];
Também tentei o seguinte URL http://www.youtube.com/watch?v=HGd9qAfpZio
Também vi o argumento & format = 1 e tentei adicioná-lo ao final de ambas as strings, mas sem sorte.
Respostas:
A única maneira de reproduzir um vídeo do YouTube em seu próprio aplicativo é criar um
UIWebView
com a tag embed do Youtube para o filme que você deseja reproduzir comoUIWebView's
conteúdo.UIWebView
detectará que o objeto incorporado é um link do Youtube e o conteúdo da visualização da web será a visualização do YouTube do vídeo. Quando o usuário clicar na visualização, o vídeo será mostrado em um MPMoviePlayerController. Esta é a técnica descrita no link fornecido pelo Muxecoid ( como reproduzir vídeos do YouTube em um aplicativo ), e esta é (até onde eu sei) a única maneira de reproduzir um vídeo do YouTube em um aplicativo. Você ainda pode iniciar o aplicativo Youtube passando o URL do youtube para-[UIApplication openURL:]
, mas é claro que isso fecha seu próprio aplicativo, o que muitas vezes é indesejável.Infelizmente, não há como reproduzir diretamente um vídeo do
MPMoviePlayerController
youtube porque o youtube não expõe links diretos para os arquivos de vídeo.fonte
Se você estiver usando o código:
Fonte:
Apenas consulte este link
Certifique-se de testá-lo no dispositivo e não no simulador. Já que o simulador sempre exibirá um ponto de interrogação com uma caixa azul (ele não tem um player de tempo rápido).
fonte
Como escrevi acima em meu comentário, tive que fazer isso em um projeto em que estava trabalhando. Resolvi esse problema e enviei o código no github.
Você pode verificar a fonte e fazer um fork aqui .
Basicamente, ele pega um url do youtube e obtém todos os urls de vídeo compatíveis com iOS.
Espero que seja para alguma ajuda!
Felicidades
fonte
Acabei de encontrar alguém que conseguiu colocar um
YouTube
vídeo dentro de umMPMoviePlayerController
. Parece possível agora.LBYouTubeView
fonte
Para reproduzir vídeos do you tube, você precisa extrair o url antes de passar o url para o
MPMoviePlayer
. Você não pode jogar diretamente.Meu repo github tem uma implementação de demonstração disso.
Vejo:
https://github.com/DpzAtMicRO/IOSYoutubePlayer
Experimente, isso torna possível carregar e reproduzir vídeos do YouTube diretamente
MPMoviePlayer
como qualquer outro vídeo e é uma abordagem muito boa também.EDITAR: certifique-se de ler o Readme.md bem antes de usá-lo em seu projeto
fonte
É tão simples quanto pegar o elemento src do iframe para o novo código embed e chamar
fonte
Verifique o seguinte link. Eu acho que vai te ajudar.
https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html
fonte
Existe uma maneira oficial de incorporar vídeo do YouTube no aplicativo iOS que é fornecido pelo Google.
Instale a biblioteca via cocoapods: pod "youtube-ios-player-helper"
importar por:
#import “YTPlayerView.h”
UseUIView
e defina a classeYTPlayerView
ou crie um objeto deYTPlayerView
programática.Carregar vídeo:
[self.playerView loadWithVideoId:@"M7lc1UVf-VE"];
Há também
playVideo
estopVideo
métodos disponíveis. Para mais informações visite este Linkfonte