![]() |
Neste artigo vou mostrar como podemos acessar informações sobre vídeos do YouTube, exibí-las em um DataGridView com opção de acesso aos vídeos via hiperlink, usando a linguagem VB .NET. |
![]() |
Este artigo mostra mais uma (dentre as outras que já publiquei) opção de como acessar informações sobre vídeos publicados no YouTube.
Nessa abordagem vou utilizar a API YoutubeSearch via Nuget para acessar as informações em uma aplicação Windows Forms usando a linguagem VB .NET.
Vamos acessar as informações exibindo-as em um DataGridView onde iremos criar um hiperlink e definir o acesso direto ao vídeo.
Recursos Usados
Visual Studio 2015 Community
YoutubeSearch
Nuget
Criando o projeto Windows Forms
Abra o VS 2015 Community e crie um novo projeto (File-> New Project) usando a linguagem VB .NET e o template Windows Forms Application.
No formulário padrão Form1.vb inclua os controles :
TextBox - txtInfo
Button - btnBusca
DataGridView - gdvVideos
Disponha os controles conforme o leiaute da figura abaixo:
Vamos agora criar uma classe Video em nosso projeto para representar as informações que desejamos obter:
No menu Project clique em Add Class e informe o nome Video e inclua o código abaixo para esta classe:
Public Class Video
Public Property Title() As String
Public Property Author() As String
Public Property Url() As String
Public Property Thumbnail() As Image
End Class
|
Após isso vamos dar um Build na Solution.
Definindo o BindingSource do DataGridView
Vamos agora definir a fonte de dados que iremos vincular ao DataGridView.
Selecione o DataGridView e em DataGridView Tasks selecione Choose Data Source e clique em Add Project Data Source;
![]() |
Na janela Choose a Data Source Type clique em Object e a seguir em Next>:
A seguir em Select the Data Objects expanda o item Youtube_Info, marque o item Vídeo e clique em Finish;
Será criado o BindingSource - VideoBindingSource - vinculando as informações da classe Video ao DataGridView;
Ajustando as colunas do DataGridView Definindo o hiperlink para o campo Url
Vamos agora ajustar as colunas que desejamos exibir no DataGridView.
Selecione o DataGridView e em DataGridView Tasks e clique Edit Columns;
Na lista Selected Columns mova a coluna Thumbnail para o topo e remova a coluna Author.
A seguir selecione a coluna Url e na guia da direita - Bound Column Properties - em ColumnType - selecione :DataGridViewLinkColumn;
A seguir selecione cada columa e defina a sua propriedade Width para um tamanho adequado.
Incluindo a referência à biblioteca YoutubeSearch
No menu Tools clique em Nuget Package Manager e a seguir em Manage Nuget Packages for Solution;
Acione a guia Browse e informe youtubesearch;
Selecione a referência YoutubeSearch.dll e a instale no projeto:
Definindo o código do projeto
Declare os seguintes namespaces no formulário Form1:
Imports System.IO
Imports System.Net
Imports YoutubeSearch
Agora vamos incluir o código no evento Click do botão de comando Buscar conforme abaixo:
Private Sub btnBuscar_Click(sender As Object, e As EventArgs) Handles btnBuscar.Click
If String.IsNullOrEmpty(txtInfo.Text) Then
MessageBox.Show("Informe o critério de busca...")
Return
Else
Dim items As New VideoSearch()
Dim lista As New List(Of Video)()
For Each item In items.SearchQuery(txtInfo.Text, 1)
Dim video As Video = New Video()
video.Title = item.Title
video.Author = item.Author
video.Url = item.Url
Dim imageBytes As Byte() = New WebClient().DownloadData(item.Thumbnail)
Using ms As New MemoryStream(imageBytes)
video.Thumbnail = Image.FromStream(ms)
End Using
lista.Add(video)
Next
VideoBindingSource.DataSource = lista
End If
End Sub
|
Esse código define uma instância da classe VideoSearch e uma lista de objetos Vídeo e realiza uma consulta - items.SearchQuery() - usando o texto informando na formulário.
A seguir as informações obtidas preenchem a classe Video e a imagem e baixada usando o método DownloadData da classe WebClient.
A seguir as informações são adicionadas a Lista de objetos vídeos.
Vamos agora definir o código para que quando o usuário clicar no conteúdo de uma célula a url do vídeo seja acionada e o vídeo aberto.
Selecione o DataGridView e na janela de propriedades clique no ícone Events e a seguir no evento CellContentClick.
A seguir defina o código abaixo neste evento:
Private Sub dgvVideos_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvVideos.CellContentClick
Dim Url As String = dgvVideos.Rows(e.RowIndex).Cells(2).Value.ToString()
Dim Info As New ProcessStartInfo(Url)
Process.Start(Info)
End Sub
|
Este código é acionando quando o usuário clica em uma célula do datagridview e ela obtém a url do vídeo que esta na terceira coluna (Cells(2)).
A seguir criamos uma instância da classe ProcessStartInfo() passando a URl e executamos o programa associado para abrir o vídeo.
Executando o projeto novamente agora teremos o seguinte resultado:
Clicando em uma célula o vídeo será aberto.
Pegue
o projeto aqui :
Youtube_Busca.zip (sem
as referências)
(Disse Jesus) Na
verdade, na verdade vos digo que quem ouve a minha palavra, e crê naquele
que me enviou, tem a vida eterna, e não entrará em condenação, mas passou da
morte para a vida.
João 5:24
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#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
ASP .NET - Exibindo um vídeo do YouTube dentro de ... - Macoratti.net