BUFFER - MEMOIRE TAMPON

Dans cet article, nous couvrirons les bases du chargement d'un fichier wave dans la mémoire tampon appelée buffer.

Caractéristiques du buffer DirectSound

Avant que votre son wave ne sorte par le périphérique, il passe par la mémoire tampon appelée buffer. Il faut donc charger le fichier wave dans celui-ci.

On déclare un objet DirectSoundBuffer dans la section Déclarations Générales.

Public dsb As DirectSoundBuffer

Les caractéristique du buffer sont gardées dans une variable de type DSBUFFERDESC.

Dim bufferDesc As DSBUFFERDESC

La première propriété de bufferDesc est lBufferBytes qui est la taille du buffer. Mais comme on est en train de créer un buffer principal, cette valeur sera toujours 0.
La deuxième propriété est lFlags. Vous lui passez comme valeur une suite de constantes.

bufferDesc.lFlags = DSBCAPS_CTRLFREQUENCY Or DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME Or DSBCAPS_STATIC

Les trois premiers flags signifient respectivement qu'on peut modifier la fréquence, modifier le pan, et modifier le volume. Le flag DSBCAPS_STATIC indique que l'ont veut que tout le fichier soit chargé en mémoire.

Format Wave

Il faut ensuite définir le format wave. On crée une variable de type WAVEFORMATEX.

Dim waveFormat As WAVEFORMATEX

Ensuite on définit ses propriétés.

waveFormat.nFormatTag = WAVE_FORMAT_PCM
waveFormat.nChannels = 2
waveFormat.lSamplesPerSec = 22050
waveFormat.nBitsPerSample = 16
waveFormat.nBlockAlign = waveFormat.nBitsPerSample / 8 * waveFormat.nChannels
waveFormat.lAvgBytesPerSec = waveFormat.lSamplesPerSec * waveFormat.nBlockAlign

PCM = Pulse Code Modulation

Création du buffer

On doit maintenant créer le buffer avec les caractéristiques définies précédement et charger le fichier wave dans ce-dernier.

Set dsb = ds.CreateSoundBufferFromFile("machinegunfire.wav", bufferDesc, waveFormat)

C'est tout!

Conclusion

Bien vous venez de découvrir comment charger un fichier wave dans un buffer DirectSound.
Une application DirectSound peut posséder plusieurs backbuffer afin de mixer le son: imaginez-vous en plein centre d'une vile, Klaxons, bavardages, et autres petits bruitages.
Le fichier chargé, il est prêt à être jouer. Nous verrons comment le faire dans le prochain article ainsi que comment modifier le volume, la fréquence et autres...

[Home] lienie.gif (941 octets)[Actualités]  [Trucs & Astuces] [Astuces Windows] [ActiveX-Ocx/Dll] [Articles] [Codes Sources] [VB Games] [Fichiers Sons] [Fichiers Icônes] [Programmes & Sources]  mailing.gif (910 octets)[Mailing-List] smiley.gif (359 octets)[Divers] about.gif (920 octets)[A Propos]