Page personnelle de Rémy LUCAS
Utilisez le menu (la bande jaune à gauche) pour naviguer dans le site ! Programmation - Visual Basic
Que trouve-t-on ici ?
Paroles de chansons - 60's & 70's
Infos pratiques, montages à réaliser, et logiciels de calcul 'on line'...
Cours d'initiation - Codes sources
Cours d'initiation à VB
Mes codes sources
Trouver le nom d'une couleur à partir de ses composantes
Calculer une expression stockée dans une chaîne
Dessiner des diagrammes cammemberts
Afficher des nombres  en 'cristaux liquides'
Utiliser le port parallèle !
Jouer des fichiers WAV
Logiciels gratuits à télécharger ici !

Jouer des fichiers WAV avec Visual Basic

        On y arrive en ayant recours à des DLL.
        Il y a plusieurs choses à taper, et à taper dans différents endroits.

        On utilise des DLL, qui contiennent un certain nombre de fonctions. Il faut déclarer ces fonctions dans la partie "général" (là ou on déclare les variables globales) du code du module où l'on désire jouer des fichiers WAV.

        La DLL que j'utilise est livrée avec Windows; donc vous n'avez pas besoin de la télécharger sur mon site.

        Voici donc ce qu'il faut taper dans la partie "général" :

Declare Function waveOutGetNumDevs Lib "MMSystem" () As Integer
Declare Function sndPlaySound Lib "MMSystem" (lpsound As Any, ByVal flag As Integer) As Integer

        Comme vous pouvez le constater, on déclare DEUX des fonctions contenues dans la DLL "MMSystem". La fonction "sndPlaySound" sert à jouer les fichiers WAV, et la fonction "waveOutGetNumDevs" va servir à savoir si il y a une carte son sur le P.C. C'est important, car si on essaye de lire un fichier WAV sur un P.C. dépourvu de carte son ou dont la carte son n'est pas configurée correctement, on aura un beau plantage...
        Une fois ceci fait, pour jouer un fichier WAV, il suffit d'utiliser les fonctions précédements déclarées :

Stat% = waveOutGetNumDevs()
If Stat% = 0 Then
  MsgBox "Pas de carte son sur cette machine !", 16
  End
Else
  Res% = sndPlaySound(ByVal FichierSon$, 1)
End If

        Le nom et le chemin d'accès complet du fichier WAV est à mettre dans la variable "FichierSon$".
        Exemple : FichierSon$="D:\medias\sons\homer.wav"
        NB : La variable Res% est requise par la fonction car une fonction retourne un résultat et il faut bien que le résultat aille quelque part, mais la valeur retournée n'a aucune importance pour nous (je crois que ça retourne une certaine valeur si le fichier à bien étè joué, une autre valeur si il a eu un probléme).

        L'idéal, c'est de regrouper tout ça dans une petite procédure qui évitera les plantages en vérifiant la présence d'une carte son :

Sub wav(FichierSon$)
  Stat% = waveOutGetNumDevs()
  If Stat% = 0 Then
    MsgBox "Pas de carte son sur cette machine !", 16
    End
  Else
    Res% = sndPlaySound(ByVal FichierSon$, 1)
  End If
End sub

        Exemple d'utilisation :

Call wav("D:\medias\sons\homer.wav")

Remonter en haut de la page Rémy LUCAS - (c) 2002