VB.NET 2005 - Tocando arquivos WAV


O componente SoundPlayer é o novo componente Windows Forms da plataforma .NET usado para executar arquivos .wav e sons do sistema Windows. Usando o namespace My veremos como é muito fácil atingir este objetivo.

Se você ainda não sabe o Namespace My não é um namespace verdadeiro ele apenas atua como um namespace dando acesso a uma hierarquia de classes e definições de métodos que você pode usar em suas aplicações .NET.

Os sons podem ser executados em background ou de forma assíncrona e podem ser repetidos indefinidamente por meio da utilização de laços.

No exemplo deste artigo temos duas seções:

1- A primeira é usada para executar sons do tipo .wav . A interface permite que você selecione o arquivo de som a ser executado sendo que o som pode ser executado de forma assíncrona com repetição contínua ou de forma síncrona a qual espera até que a execução do som termine.

2- Na segunda seção são executados os sons do sistema. Selecione o som a ser executado a partir da combobox . Nem todos os sons são suportados.

Os namespaces usados neste projeto são:

Imports System.Media
Imports System.ComponentModel

 

O código para executar o som de forma síncrona e assíncrona e dado a seguir:


Private Sub playSyncButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles playSyncButton.Click
  If fileName IsNot Nothing Then
       My.Computer.Audio.Play(fileName)
  End If
End Sub

Private Sub playAsyncButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles playAsyncButton.Click
  If  loopCheckBox.Checked Then
        'voce pode tocar o som de forma assincrona e com repetição usando o novo recurso My
         My.Computer.Audio.Play(fileName, AudioPlayMode.BackgroundLoop)     
 Else
       'você pode tocar sons de forma síncrona mas usando o argumento WaitToComplete
       My.Computer.Audio.Play(fileName, AudioPlayMode.Background)
 End If
End Sub

O código para tocar os sons do sistema é dado a seguir:

Private Sub playSystemSoundButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles playSystemSoundButton.Click
Select Case systemSoundsComboBox.Text
      Case "Asterisk"
           My.Computer.Audio.PlaySystemSound(System.Media.SystemSounds.Asterisk)
           Exit Select
      Case "Beep"
           My.Computer.Audio.PlaySystemSound(System.Media.SystemSounds.Beep)
           Exit Select
      Case "Exclamation"
           My.Computer.Audio.PlaySystemSound(System.Media.SystemSounds.Exclamation)
           Exit Select
      Case "Hand"
           My.Computer.Audio.PlaySystemSound(System.Media.SystemSounds.Hand)
           Exit Select
       Case Else
             'lanca uma exceção
            Throw New ApplicationException("Som do sistema inválido")
End Select

End Sub

E estamos conversados...

Eu sei é apenas VB.NET mas eu gosto...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti