Reproduzindo vídeos do Youtube com C#

Gunnar CorreaGunnar Correa20/12/2015 às 11:14:33 - 11.907 acessos

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


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 ChooseItems... (encontrar itens).

Visual Studio 2013 Choose Items

 

Na janela que abrirá, clique na aba COMComponents, marque a opção ShockwaveFlashObject 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 ShockwaveFlashObject 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..

Até a próxima!

 


visual studio c# csharp programação player shockwave flash object aplicação windows form vídeo microsoft tutorial grátis passo a passo componentes youtube video

Compartilhe


Gunnar Correa

Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web (FIPP), Especialista em Tecnologias na Educação (Unoeste) e Pós-graduando em Segurança da Informação (Universidade Cruzeiro do Sul). Começou seus estudos na área de programação quando era criança, e atualmente está estudando desenvolvimento de jogos. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.



Site atualizado

Olá, nosso site recebeu uma nova atualização e por conta disso, alguns artigos ainda estão sendo atualizados. Dependendo do conteúdo que você procura, poderá encontrar imagens e trechos de códigos mal formatados.

Estamos trabalhando para normalizar todos os conteúdos, muito em breve, esse problema não mais existirá.


Comentários