Le premier site francophone dédié au développement Pocket PC


Comment jouer des fichiers wav
 
   


eVB ne dispose pas en standard de fonction permettant de jouer des fichier wav. Nous n'avons donc pas d'autre choix que de faire appel aux API de Windows CE

La fonction chargée de se travail se nome Playsound et se trouve (comme la plus part des fonctions utiles) dans la librairie dynamique Coredll.dll

Cette fonction peut être utilisée de manière synchrone (elle ne rend la main que lorsque le fichier son est joué dans son intégralité), et de manière asynchrone (elle rend la main imédiatement et joue le son en tâche de fond).

Il faut tout d'abord déclarer la fonction PlaySound dans la partie déclaration d'un module eVB, ainsi que 2 constantes nécessaires au bon fonctionnement de cette API :

Public Declare Function PlaySound Lib "Coredll" Alias "PlaySoundW" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Const SND_FILENAME = &H20000
Private Const SND_ASYNC = &H1

Puis nous allons écrire nos 2 procédures eVB qui nous permettrons de jouer un fichier wav (dont le nom sera passé en paramètre) de manière synchrone ou asynchrone :

Public Sub JouerFichierWav(ByVal wFichierWav As String)
Call PlaySound(wFichierWav, 0, SND_FILENAME)
End Sub

Public Sub JouerFichierWavAsync(ByVal wFichierWav As String)
Call PlaySound(wFichierWav, 0, SND_FILENAME Or SND_ASYNC)
End Sub

Vous pouvez aussi écrire qu'une seule prodécure, avec comme second paramètre un boolean indiquant si vous souhaitez une exécution synchrone ou non :

Public Sub JouerFichierWav(ByVal wFichierWav As String, ByVal wAssync as Boolean)
If wAssync Then
Call PlaySound(wFichierWav, 0, SND_FILENAME Or SND_ASYNC)
Else
Call PlaySound(wFichierWav, 0, SND_FILENAME)
EndIf
End Sub

 

Voilà, vous disposez maintenant des fonctions nécessaires pour jouer tous les fichiers wav que vous voulez, et ainsi agrémenter vos créations.

Sources de cet article

Stéphane Sibué

 

 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.