VB .NET - Embutindo e executando arquivos de vídeos - (playlist) II
Neste artigo vou mostrar como embutir e executar arquivos de vídeos como um recurso usando a linguagem VB .NET. Hoje vamos criar uma playlist de vídeos embutidos para execução. |
Na primeira parte do artigo embutimos os arquivos de vídeos em Resources Files e conseguimos executar um vídeo usando o média player.
Acontece que temos 5 vídeos embutidos e desejamos executar os 5 vídeos e, para fazer isso vamos criar uma playlist contendo os vídeos a serem executados.
Para fazer isso vamos usar o método AxWindowsMediaPlayer.newPlaylist que retorna uma interface IWMPPlaylist para uma nova playlist.
Dim playlist As
WMPLib.IWMPPlaylist
playlist = wmp1.playlistCollection.newPlaylist("Playlist")
Com a playlist criada basta adicionar cada vídeo na playlist usando o método appendItem().
Como nossos vídeos estão embutidos em Resources Files teremos que acessar cada vídeo ler o contéudo e gerar um stream do vídeo em um arquivo de vídeo que será executado.
Assim para o primeiro vídeo teremos que fazer o seguinte:
Dim caminhovideo1 =
Path.Combine(Application.StartupPath, "video1.wmv")
If (Not File.Exists(caminhovideo1)) Then
File.WriteAllBytes(caminhovideo1, My.Resources.Aula1)
End If
playlist.appendItem(wmp1.newMedia(caminhovideo1))
Esse código vai gerar um arquivo video1.wmv a partir do arquivo Aula1.mp4.
Agora é só repetir o processo para os demais vídeos.
Recursos Usados:
Executando uma playlist de vídeos
Abra o projeto criado no VS 2017 Community do artigo anterior e defina a variável playlist no início do formulário:
Dim playlist As WMPLib.IWMPPlaylist
A seguir altere o código do evento Click do botão Assistir Vídeo conforme abaixo:
Private Sub btnAssistir_Click(sender As Object, e As EventArgs) Handles btnAssistir.Click
wmp1.stretchToFit = True
btnTelaCheia.Enabled = True
playlist = wmp1.playlistCollection.newPlaylist("Playlist")
Dim caminhovideo1 = Path.Combine(Application.StartupPath, "video1.wmv")
If (Not File.Exists(caminhovideo1)) Then
File.WriteAllBytes(caminhovideo1, My.Resources.Aula1)
End If
playlist.appendItem(wmp1.newMedia(caminhovideo1))
Dim caminhovideo2 = Path.Combine(Application.StartupPath, "video2.wmv")
If (Not File.Exists(caminhovideo2)) Then
File.WriteAllBytes(caminhovideo2, My.Resources.Aula2)
End If
playlist.appendItem(wmp1.newMedia(caminhovideo2))
Dim caminhovideo3 = Path.Combine(Application.StartupPath, "video3.wmv")
If (Not File.Exists(caminhovideo3)) Then
File.WriteAllBytes(caminhovideo3, My.Resources.Aula3)
End If
playlist.appendItem(wmp1.newMedia(caminhovideo3))
Dim caminhovideo4 = Path.Combine(Application.StartupPath, "video4.wmv")
If (Not File.Exists(caminhovideo4)) Then
File.WriteAllBytes(caminhovideo4, My.Resources.Aula4)
End If
playlist.appendItem(wmp1.newMedia(caminhovideo4))
Dim caminhovideo5 = Path.Combine(Application.StartupPath, "video5.wmv")
If (Not File.Exists(caminhovideo5)) Then
File.WriteAllBytes(caminhovideo5, My.Resources.Aula5)
End If
playlist.appendItem(wmp1.newMedia(caminhovideo5))
wmp1.currentPlaylist = playlist
wmp1.Ctlcontrols.play()
End Sub
|
Esse código vai executar todos os vídeos incluídos na playlist de forma sequencial.
Para incrementar um pouco mais o nosso projeto vamos incluir um novo botão de comando com o texto - Tela Cheia:
A seguir inclua o código abaixo no evento Click deste botão:
Private Sub btnTelaCheia_Click(sender As Object, e As EventArgs) Handles btnTelaCheia.Click
If wmp1.playState = WMPLib.WMPPlayState.wmppsStopped Then
Me.Hide()
ElseIf wmp1.playState = WMPLib.WMPPlayState.wmppsPlaying Then
wmp1.fullScreen = True
End If
End Sub
|
Este código permite assistir o vídeo em tela cheia usando a propriedade fullScreen igual a true. Para funcionar o vídeo tem que estar em execução.
Agora ao executar o projeto e clicar em assistir vídeo cada vídeo será executado sequencialmente.
Creio que você deve estar pensando : "Não tem como otimizar esse código para não ficar repetindo o procedimento para cada vídeo ?"
Garoto esperto !!!
Na próxima parte do artigo veremos como incrementar o código criando uma playlist de vídeos não embutidos.
Pegue o projeto completo aqui : VBnet_Video.zip (sem os vídeos)
"Jesus lhes respondeu,
e disse: A minha doutrina não é minha, mas daquele que me enviou.
Se alguém quiser fazer a vontade dele, pela mesma doutrina conhecerá se ela é de
Deus, ou se eu falo de mim mesmo."
João
7:16,17
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 Visual Studio ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET ?
|
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
C# - Executando arquivos de áudio e vídeo em uma ... - Macoratti
VB.NET - Carregando e executando arquivos mp3 em um ... - Macoratti