Logo SatellaSoft



Reproduzindo vídeos do Youtube com C#

Neste artigo você verá passo a passo de como criar um Player de vídeos do Youtube usando o Visual Studio.


Ícone homem Gunnar Correa
Ícone data de publicação 20/12/2015
Ícone quantidade de visualização 3,516
Ícone bandeira do Brasil Português

Neste artigo será criado uma aplicação no Visual Studio 2013 utilizando a linguagem C# com .NET Framework 4.0, que tem por objetivo reproduzir vídeos do Youtube sem a necessidade de um navegador de Internet.

Para reproduzir o vídeo do Youtube será necessário apenas do componente Shockwave Flash Object e que o vídeo a ser reproduzido permita acesso externo do Youtube. Mas antes de começar desenvolver o projeto, é importante entender como tudo isto basicamente funciona.

Quando o usuário acessa o Youtube.com e abre um vídeo, o servidor devolve apenar alguns pacotes de informações para o navegador, que por sua vez utiliza de uma aplicação externa para poder interpretar e apresentar os pacotes recebidos, neste caso a aplicação é o Shockwave Flash. O Shockwave nada mais é do que um complemento que favorece a reprodução de conteúdo de multimídia, tais como: Jogos, Vídeos, Muitos entre outros.

Para saber mais sobre o Shockwave Flash acesse: http://www.techtudo.com.br/noticias/noticia/2014/08/o-que-e-shockwave-flash.html

 

Troca de pacotes servidor e navegador/shockwave

 

Agora que já entendemos como nossa aplicação vai se comportar, crie um novo projeto no Visual Studio, utilizando a linguagem C#, Windows Form Application, escolha o .NET Framework 4.0 e atribua o nome de sua preferência.

Visual Studio 2013 novo projeto

Após a criar o projeto, será necessário adicionar o componente Shockwave Flash Object aos itens da Toolbox. Para adicionar o novo componente clica com o botão direito do mouse sobre qualquer parte da Toolbox, em seguida clique em Choose Items... (encontrar itens).

Visual Studio 2013 Choose Items

 

Na janela que abrirá, clique na aba COM Components, marque a opção Shockwave Flash Object e clique em OK.

Visual Studio 2013 COM Components

Após adicionar o componente ele estará na Toolbox. Arraste um Button, Textbox e o novo componente Shockwave Flash Object para o formulário. Personalize o formulário a seu gosto, para o nosso exemplo ele ficou organizado conforme mostra a imagem abaixo.

Visual Studio 2013 Organizar componentes

Altere as propriedades dos componentes conforme mostra abaixo.

Componente

Name

Text

Shockwave Flash Object

sfoPlayer

 

Textbox

txtEndereco

 

Button

btnCarregar

Carregar

 

Com o formulário configurado vamos começar a criar nossos códigos, mas antes disso vamos fazer um pequeno teste, e nele você poderá perceber um problema que devemos tratar.

De um duplo clique no botão btnCarregar para abrir o método Click e insira o código abaixo, note que ele acompanha uma URL do youtube, mas perceba bem, está URL não tem o watch?v, isto porque o Player necessita apenas do caminho do vídeo e não da página correspondente ao vídeo.

Note o vídeo original: https://www.youtube.com/watch?v=Dqt20hTlTO8

Agora o vídeo adaptado: https://www.youtube.com/v/Dqt20hTlTO8

Abra os dois Links no seu navegador para entender melhor como o player necessita carregar. O último parâmetro autoplay=1 informa que o vídeo deve iniciar assim que o vídeo for aberto.

Código 01:

private void btnCarregar_Click(object sender, EventArgs e)
{
	sfoPlayer.Movie = "https://www.youtube.com/v/Dqt20hTlTO8&;autoplay=1";
}

Rodando a aplicação o vídeo é carregado e já é iniciado no controle do Shockwave.

Visual Studio 2013 Teste reprodução 1

Basicamente só necessitamos passar a URL para a propriedade Movie do controle. A propriedade Movie é a responsável por carregar os meta-dados ao Player, porém como dito anteriormente, vídeos que não permitem reprodução fora do Youtube vão falhar.

Agora crie um método como mostra o código abaixo, leia atentamente os comentários para entender como ele foi construído e seu comportamento. Não há segredo algum, basicamente remover e inserimos string.

Código 02:

 private string RetornarURL(string URL)
{
	/*
	Verificamos se exite a string watch?, caso exista irá retornar 1
	*/
	if (URL.IndexOf("watch?") > 0)
	{

		 URL = URL.Replace("watch?", ""); //Trocamos 'watch?' por nada (vázio/string.empty)
               	 URL = URL.Replace("=", "/"); //Trocamos '=' por '/', isto é uma regra do Youtube, estamos apenas seguindo
                	URL = URL + "&autoplay=1"; //Para que o vídeo inicie automaticamente, adicionamos '&autoplay=1'.
	}
	return URL;
}

Para finalizar volte ao método Click do btnCarregar e insira o código abaixo, veja que ele utiliza o método criado acima.

Código 03:

 private void btnCarregar_Click(object sender, EventArgs e)
        {
            string URL = "";

            URL = RetornarURL(txtEndereco.Text); //Passamos o valor do txtEndereco para o médodo.

            sfoPlayer.Movie = URL; //Passamos para a propriedade o valor da nova URL.

        }

Rode sua aplicação e insira a URL de um vídeo de sua preferência, para este teste foi utilizado: https://www.youtube.com/watch?v=C9slkeFXogU.

 

Visual Studio 2013 teste reprodução 2

E assim finalizamos o nosso artigo, ao som de Jack Ü, caso houver dúvidas deixem nos comentários. Você pode fazer o Download do projeto no botão abaixo.

Até a próxima!




Downloads


Youtube Player


Youtube Player

Tamanho: 144KB

Data de upload: 20/12/2015

Tipo de arquivo: .zip

Quantidade de download: 191


Arquivo contendo o projeto final com todos os seus conteúdos.

Você precisa estar autenticado para fazer o Download. Clique Aqui para ser redirecionado a página de login.






Sobre o autor


Gunnar Correa

Nome: Gunnar Correa

Site: http://www.gunnarcorrea.com


Autodidata, graduado em Desenvolvimento Web e especialista em Tecnologias na Educação em uma universidade no interior de São Paulo. Comecei meus estudos na área de programação quando ainda era criança, e atualmente estou estudando desenvolvimento de jogos.

Sou o CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.


Comentários



É necessário estar autenticado para comentar, clique aqui para se registrar ou aqui para acessar a sua conta!