![]()
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]
[Actualités]
[Trucs
& Astuces]
[Astuces Windows]
[ActiveX-Ocx/Dll]
[Articles]
[Codes Sources]
[VB
Games]
[Fichiers Sons]
[Fichiers Icônes]
[Programmes & Sources]
[Mailing-List]
[Divers]
[A Propos]