VB .NET - Baixando vídeos do Youtube (revisitado) |
Neste artigo eu vou mostrar como podemos baixar vídeos do Youtube em uma aplicação Windows Forms usando a linguagem VB .NET e a biblioteca VideoLibrary. |
Existem muitas formas de realizar o download de arquivos da web, incluindo aí arquivos de vídeo do youtube.
Neste artigo eu vou mostrar como usar a biblioteca VideoLibrary (libvideo) de autoria de James Ko que pode ser usada para fazer download de vídeos do youtube.
Além de ser fácil de usar, leve ela é suportada em diversas plataformas como :
.NET Framework 4.5+
Windows 10 Universal apps
Portable Class Libraries
Xamarin.iOS
Xamarin.Android
Mono (Mac/Linux)
Windows 8.1 and 8.0
Windows Phone 8.1
Para usar o recurso em seu projeto você pode referenciá-la em seu projeto via Nuget.
Install-Package VideoLibrary (via Package Manager Console)
Recursos usados:
Nota: Baixe e use a versão Community 2015 do VS ela é grátis e é equivalente a versão Professional.
Criando o projeto no VS Community
Abra o VS Community 2015 e clique em New Project;
Selecione a linguagem Visual Basic e o template Windows Forms Application;
Informe o nome Vbnet_Youtube e clique no botão OK;
A partir da ToolBox inclua no formulário os seguintes controles:
Disponha os controles conforme o leiaute da figura abaixo:
A seguir no menu Tools, clique em Nuget Package Manager e a seguir em Manage Nuget Packages for Solution;
Clique em Browse e digite libvideo na caixa de busca;
Selecione o item VideoLibrary, marque o projeto e clique no botão Install:
Agora vamos declarar os seguintes namespaces no formulário form1.vb:
Imports VideoLibrary Imports System.IO
No evento Click do Botão -Download - inclua o código abaixo:
Private Sub btnDownload_Click(sender As Object, e As EventArgs) Handles btnDownload.Click
If Not txtUri.Text = String.Empty Then
If fbdlg1.ShowDialog = DialogResult.OK Then
Try
lblStatus.Text = "Fazendo o download..."
Dim video = YouTube.Default.GetVideo(txtUri.Text)
File.WriteAllBytes(fbdlg1.SelectedPath & "\" & video.FullName, video.GetBytes())
lblStatus.Text = "Download realizado com sucesso..."
lbArquivo.Items.Add(fbdlg1.SelectedPath & "\" & video.FullName)
lblStatus.Text = ""
txtUri.Text = ""
Catch ex As Exception
MessageBox.Show("Erro : " + ex.Message)
lblStatus.Text = ""
End Try
End If
Else
MessageBox.Show("Informe a URI do arquivo Youtube...")
End If
End Sub
|
O programa solicita ao usuário para copiar o link do vídeo para download e escolher a pasta de destino.
O controle FolderBrowserDialog é usado para selecionar a pasta de destino.
Em seguida criamos uma instância do vídeo a ser baixado usando o comando : YouTube.Default.GetVideo(txtUri.Text)
Após essa tarefa usamos o método WriteAllBytes para gravar os dados do arquivo em um arquivo binário. Lembrando que esse método abre o arquivo, escreve nele e depois fecha o arquivo.
Executando o projeto e iremos obter:
1- Copiando o link do vídeo e selecionando a pasta de destino:
2- Após selecionar a pasta o download é iniciado :
3- Ao final temos a indicação teremos o caminho e nome do arquivo indicado no listbox.
Conferindo na pasta c:\dados vemos o arquivo baixado.
Creio que essa é a abordagem mais simples que podemos fazer para mostrar como baixar um arquivo do youtube usando a biblioteca VideoLibrary.
Você pode melhorar e incrementar o projeto com mais funcionalidades como abrir o arquivo baixado, fazer um download assíncrono usando asycn e await, etc.
Pegue o projeto completo aqui : Vbnet_Youtube.zip
Não se turbe o vosso coração; credes em
Deus, crede também em mim.
Na casa de meu Pai há muitas moradas; se não fosse assim, eu vo-lo teria dito.
Vou preparar-vos lugar.
João 14:1,2
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
ASP .NET - Exibindo um vídeo do YouTube dentro de ... - Macoratti.net