VB .NET - Criando um tocador de músicas com Media Player
Neste artigo vamos criar um tocador de músicas usando o Windows Média Player e a linguagem VB .NET. |
Em minha série de artigos VB .NET - Embutindo e executando arquivos de vídeos - I mostrei como usar o componente Windows Média Player(WMP) para executar vídeos embutidos como um Resource File ou como um arquivo externo.
Hoje vou mostrar como criar um simples tocador de músicas que também pode exibir vídeo usando o controle WMP.
Vamos criar um projeto onde o usuário poderá incluir arquivos de vídeos ou músicas em uma ListBox para serem executados e e exibidos em um controle Windows Media Player.
Vamos dar a opção de executar individualmente um arquivo ou de criar uma playlist.
Os conceitos usados foram mostrados na série de artigos citada.
Então ao trabalho...
Recursos Usados:
Criando o projeto Windows Forms no VS Community 2017
Abra o VS 2017 Community e crie um projeto usando a opção : Visual Basic -> Windows Classic Desktop e selecione o template Windows Forms App (.NET Framework);
Informe o nome Windows Media Player e clique no botão OK;
Vamos incluir os componentes a partir da Toolbox para criar a interface com o usuário.
Para incluir o componente Windows Media Player no projeto faça o seguinte :
1- Abra a janela ToolBox e a seguir clique com o botão direito do mouse sobre um item da ToolBox e a seguir clique em Choose Items...
2- Na janela - Choose ToolBox Items - clique na aba COM Components e selecione : Windows Media Player
3- Você deverá ver na ToolBox o componente incluído no item selecionado pronto para ser usado.
Agora basta incluir o componente no formulário Form1.vb a partir da Toolbox e alterar sua propriedade name para wmp1.
Inclua também os seguintes componentes:
2 Labels
1 ListBox - lbMusicas
4 Buttons - btnIncluirMusica, btnRemoverMusica, btnLimpar e btnCriarPlaylist
1 OpenFileDialog - name = ofd1
1 MenuStrip - Sair - mnuSair
Disponha os controles conforme o leiaute da figura abaixo:
Definindo o código do formulário
1- Incluindo uma música/vídeo
Private Sub btnIncluirMusica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluirMusica.Click
ofd1.ShowDialog()
If DialogResult.OK Then
For Each track As String In ofd1.FileNames
lbMusicas.Items.Add(track)
Next
End If
End Sub
|
2- Removendo uma música/vídeo
Private Sub btnRemoverMusica_Click(sender As Object, e As EventArgs) Handles btnRemoverMusica.Click
lbMusicas.Items.Remove(lbMusicas.SelectedItem)
End Sub
|
3- Limpando todas as músicas/vídeos
Private Sub btnLimpar_Click(sender As Object, e As EventArgs) Handles btnLimpar.Click
lbMusicas.Items.Clear()
End Sub
|
4- Criando um playlist
Private Sub btnCriarPlaylist_Click(sender As Object, e As EventArgs) Handles btnCriarPlaylist.Click
If lbMusicas.Items.Count > 0 Then
Dim playlist As WMPLib.IWMPPlaylist
playlist = wmp1.playlistCollection.newPlaylist("Playlist")
For i As Integer = 0 To lbMusicas.Items.Count - 1
Dim musica As String = CStr(lbMusicas.Items(i))
playlist.appendItem(wmp1.newMedia(musica))
Next
wmp1.currentPlaylist = playlist
wmp1.Ctlcontrols.play()
Else
MessageBox.Show("Não existem músicas para selecionar")
End If
End Sub
|
5 - Executando uma música/vídeo
Private Sub lbMusicas_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbMusicas.DoubleClick
wmp1.URL = lbMusicas.SelectedItem
End Sub
|
6- Encerrando a aplicação - Menu Sair
Private Sub mnuSair_Click(sender As Object, e As EventArgs) Handles mnuSair.Click
If (MessageBox.Show("Deseja encerrar a aplicação ?", "Encerrar", MessageBoxButtons.YesNo) = DialogResult.Yes) Then
If wmp1.playState = WMPLib.WMPPlayState.wmppsStopped Then
Me.Close()
ElseIf wmp1.playState = WMPLib.WMPPlayState.wmppsPlaying Then
wmp1.Ctlcontrols.stop()
Me.Close()
Else
Me.Close()
End If
End If
End Sub
|
O código é muito simples e não merece nenhum comentário. (Para dúvidas veja o artigo citado na introdução)
Ao executar o projeto usando este código iremos obter o seguinte resultado:
Pegue o projeto completo aqui : WindowsMediaPlayer.zip (sem os vídeos)
"Jesus disse-lhes: A minha comida é
fazer a vontade daquele que me enviou, e realizar a sua obra."
João 4:34
Referências: