Page personnelle de Rémy LUCAS |
Accueil | Electronique | Visual Basic | Freewares | Tests/Mods | Travaux | Usinage | Menuiserie |
Sommaire | Cours d'initiation | Codes sources |
Sommaire | Nom couleur | Calcul | Diagrame | Affichage LCD | Port Parallèle | Fichier WAV |
Jouer des fichiers WAV avec Visual BasicIl 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") |
(c) Remy LUCAS - 1999-2010 |