INITIALISATION DIRECTSOUND

Dans cet article, nous couvrirons les bases de l'initialisation d'une application DirectSound.

DirectSound Intro

Vous pouvez créer un jeu comme Tomb Raider ou Quake 4, mais la mauvaise gestion du son rendra votre jeu ennuyeux !

La technologie DirectSound, au contraire de simples API de Win32, vous permet:

Avant de commencer à utiliser DirectSound dans votre projet, ajouter y d'abord la référence "DirectX 7 Type Librairy".

Objet DirectSound

On déclare un objet DirectSound [Après avoir bien sûr déclaré l'objet principal DirectX].

'Objet DirectX7
Public dx As New DirectX7
'Objet DirectSound7
Public ds As DirectSound

On crée l'objet DirectSound.

Private Sub Form_Load()

'Gestion d'erreurs: TROP IMPORTANT
On Local Error Resume Next

Set ds = dx.DirectSoundCreate("")

'Si erreur
If Err.Number <> 0 Then
    MsgBox "Impossible de démarrer DirectSound. Vérifiez que votre carte son est bien installée."
    End
End If

En passant un argument vide à la méthode DirectSoundCreate, vous indiquez que nous voulons le périphérique son par défaut sur le système.
Mais cette méthode peut échouer si aucun périphérique n'est en place ou s'il y a un problème de configuration: il faut donc gérer cette erreur en vérifiant le contenu err.number.

Configurer l'application

Après avoir créé l'objet, on doit indiquer le cooperative level de l'application.

ds.SetCooperativeLevel Me.hWnd, DSSCL_PRIORITY

Ceci indique que c'est la feuille courante qui gère DirectSound et que les sorties audio de l'application sont prioritaires sur celle des autres.

C'est tout! Enfin presque...

Conclusion

Bien vous venez de découvrir comment initialiser une application DirectSound.
DirectSound fonctionne sur un système de buffer (mémoire tampon) où passe chaque son avant de sortir vers le périphérique: nous verrons cela au prochain article.

[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]