IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ C++ BuilderConsultez toutes les FAQ

Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe C++ Builder de Developpez.

Commentez cette FAQ : Commentez

SommaireSystèmeSon (4)
précédent sommaire suivant
 

Pour jouer un fichier Wave, commencez par inclure le header mmsystem.h, puis utilisez la fonction PlaySound.

Code c++ : Sélectionner tout
PlaySound("E:\\WINDOWS\\Media\\notify.wav", NULL, SND_SYNC);
Dans cet exemple, le son est joué et la fonction renvoie true après la fin du son.
Voyez l'aide pour la liste des options possibles.

Mis à jour le 1er septembre 2004 Ricky81

Pour produire un son système Windows, vous pouvez utiliser la fonction MessageBeep. Cette fonction prend une constante en argument qui précise le type de son à produire. Voici tout d'abord un exemple simple d'utilisation :>

Code c++ : Sélectionner tout
MessageBeep(MB_OK);
Les sons utilisables sont :

  • 0xFFFFFFFF : Message sonore basique généré par l'haut-parleur de votre PC
  • MB_ICONASTERISK : SystemAsterisk - Message d'information
  • MB_ICONEXCLAMATION : SystemExclamation - Message d'avertissement
  • MB_ICONHAND : SystemHand - Message d'Erreur (interruption d'un processus)
  • MB_ICONQUESTION : SystemQuestion - Message demandant une confirmation ou une infirmation
  • MB_OK : SystemDefault - Message sonore par défaut

Mis à jour le 1er septembre 2004 Geronimo

Il suffit de lancer le programme correspondant avec la fonction ShellExecute.

Code c++ : Sélectionner tout
ShellExecute(0, "open", "sndvol32.exe", 0, 0, SW_SHOW);

Mis à jour le 1er septembre 2004 Geronimo

Pour régler le volume du son dans Windows, il va falloir utiliser deux fonctions de l'API Win32 : waveOutGetVolume pour récupérer le volume courant, et waveOutSetVolume pour le positionner.
Ces deux fonctions sont déclarées dans le header mmsystem.h.
Le Handle utilisé sera NULL pour impacter le son dans son intégralité. Cette usage n'est pas documenté dans la MSDN, mais il semble qu'il l'ait été dans une version précédente.

Le code suivant montre comment récupérer le volume actuel du mixer, le modifier, et retourner à la valeur précédente.

Code c++ : Sélectionner tout
1
2
3
4
5
6
#include <mmsystem.h> 
... 
unsigned long volume; 
waveOutGetVolume(NULL, (LPDWORD) &volume); 
waveOutSetVolume(NULL, (DWORD)0x0); 
waveOutSetVolume(NULL, volume);
A partir de Windows Vista ces méthodes ne sont plus gérées, on peut donc utiliser le code suivant pour afficher la fenêtre de contrôle de son :

Code c++ : Sélectionner tout
ShellExecute(0, "open", "sndvol.exe", 0, 0, SW_SHOW);

Mis à jour le 21 juin 2006 bibmari Crayon

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.