VB .NET - Embutindo e executando arquivos de vídeos - I
Neste artigo vou mostrar como embutir e executar arquivos de vídeos como um recurso usando a linguagem VB .NET. |
Eu já mostrei como usar o Resources Files publicando um artigo e uma vídeo aula sobre o assunto. Confira:
Hoje vou mostrar como embutir arquivos de vídeos em projeto VB .NET usando Resources Files e como executar os arquivos usando o Windows Media Player.
Vamos imaginar que você quer distribuir uma aplicação VB .NET que contém 5 vídeos de um curso que deverão ser acessados e executados pela sua aplicação.
Você resolveu embutir os vídeos como um recurso em seu projeto (não me pergunte porque...), e decidiu usar o Windows Media Player para executar os vídeos.
Um possível motivo para você querer embutir os vídeos no projeto como resources e não querer deixar os vídeos em uma pasta separada do projeto e depois precisar localizar e carregar os arquivos do disco quando a aplicação estiver em execução.
Isto posto 'vamo que vamo...' criar o projeto.
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 VBnet_Video e clique no botão OK;
Projeto criado.
Vamos incluir um controle Panel a partir da Toolbox no formulário e definir sua propriedade Dock igual a Bottom :
Agora 'si embora' embutir os vídeos.
Embutindo os arquivos de vídeos como um recurso na aplicação
Para incluir os arquivos de vídeo como um recurso do projeto siga o roteiro:
1- Clique com o botão direito do mouse sobre o nome do projeto e a seguir clique em Properties
2- Na janela de propriedades clique na guia Resources, e a seguir clique em Add Resource e depois em Add Existing File;
3- Na janela Add existing file to resources selecione os arquivos que deseja incluir e clique no botão
Pronto. Você deverá ver na janela Resources os arquivos exibidos conforme abaixo:
Missão cumprida. Os arquivos já estão embutidos no projeto.
E agora !!! Como acessar e exibir esses arquivos ????
Bem, uma possibilidade é usar o Windows Media Player, e ele mesmo que vamos usar...
Usando o Windows Media Player para exibir o vídeo
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.
Vamos incluir o componente acima do controle Panel ocupando todo o formulário e definir sua propriedade name igual a wmp1 e sua propriedade Anchor igual a Top, Bottom, Left, Right :
A seguir inclua no Panel dois botões :
1 Button - name = Assistir Vídeo
1 Button - name= Encerrar, Anchor = Top, Right
Disponha os controles conforme o leiaute da figura acima.
Executando um arquivo de vídeo embutido
Para concluir vamos executar um arquivo de vídeo embutido.
No evento Click do botão - Assistir Video - inclua o código abaixo:
Private Sub btnAssistir_Click(sender As Object, e As EventArgs) Handles btnAssistir.Click
wmp1.stretchToFit = True
Dim caminhovideo1 = Path.Combine(Application.StartupPath, "video1.wmv")
If (Not File.Exists(caminhovideo1)) Then
File.WriteAllBytes(caminhovideo1, My.Resources.Aula1)
End If
wmp1.URL = caminhovideo1
wmp1.Ctlcontrols.play()
End Sub
|
Vamos entender o código:
1- Primeiro definirmos a propriedade stretchToFit do controle Windows Media Player - wmp1 - igual a true para o tamanho do vídeo se ajustar ao nosso formulário;
wmp1.stretchToFit = True
2- Definimos uma variável caminhovideo1 com um valor inicial
Dim caminhovideo1 = Path.Combine(Application.StartupPath, "video1.wmv")
3- Verificamos se o vídeo existe neste caminho. Se não existir então acessamos o vídeo Aula1 que esta no Resources e o criamos um novo arquivo com o conteúdo do arquivo de vídeo usando o método WriteAllBytes:
If (Not File.Exists(caminhovideo1)) Then
File.WriteAllBytes(caminhovideo1, My.Resources.Aula1)
End If
4- Atribuimos o caminho agora com o conteúdo do nosso arquivo de vídeo e executamos o vídeo:
wmp1.URL = caminhovideo1
wmp1.Ctlcontrols.play()
Para concluir temos o código do botão Encerrar:
Private Sub btnEncerrar_Click(sender As Object, e As EventArgs) Handles btnEncerrar.Click
If wmp1.playState = WMPLib.WMPPlayState.wmppsStopped Then
Me.Close()
ElseIf wmp1.playState = WMPLib.WMPPlayState.wmppsPlaying Then
wmp1.Ctlcontrols.stop()
Me.Close()
End If
End Sub
|
Neste código eu verifico se o vídeo esta em execução, neste caso eu encerro a execução e o projeto.
Agora é só alegria...
Executando o projeto e clicando no botão para executar o vídeo teremos a exibição da Aula1 conforme mostra a figura:
Funciona, mas....
Se você olhar o tamanho do executável gerado vai ver que ele é muiiito grande, pois os arquivos de vídeo estão embutidos no projeto e fazem partem do exe gerado.
Outro detalhe, os arquivos de vídeo serão gerados individualmente na pasta no projeto novamente.
Então, qual a foi a vantagem em usar essa abordagem ??? 'Que vantagem Maria levou ???'
Parece que nenhuma...
Na próxima parte do artigo veremos como incrementar o projeto criando uma playlist.
"Levantai os vossos olhos para os céus,
e olhai para a terra em baixo, porque os céus desaparecerão como a fumaça, e a
terra se envelhecerá como roupa, e os seus moradores morrerão semelhantemente;
porém a minha salvação durará para sempre, e a minha justiça não será abolida."
Isaías 51:6
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