Controle de volume osd (win32)

Soyez le premier à donner votre avis sur cette source.

Vue 22 853 fois - Téléchargée 1 633 fois

Description

Il s'agit ici d'un petit programme permettant de controler le volume audio du PC en utilisant le clavier. En maintenant la touche CTRL droite enfoncée, on appuie sur la flèche de direction droite pour augmenter le volume, ou la flèche gauche pour le diminuer. Pour passer au mode MUET on garde CTRL droite enfoncée et on appuie sur SUPPR. L'appui suivant annule le mode MUET. A chaque action, un graphique s'affiche comme sur l'écran d'un téléviseur. Il disparait au bout de 3 secondes d'inactivité. Le menu contextuel de l'icone dans la zone TrayIcon permet de quitter le programme.
Dans ce code source, j'ai utilisé un hook clavier de bas niveau pour l'interception de l'appui sur les touches. Pour l'affichage, j'ai utilisé une fenêtre transparente sur laquelle on écrit et dessine. Pour le controle du volume, j'ai fait appel aux APIs du MIXER de Windows.
Les remarques et les commentaires sont les bienvenus.

Source / Exemple :


voir le zip

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
18 juillet 2009

C'est exactement le genre de programme que je cherchais.
Au début, je voulais le créer moi-même, mais que je vois le genre de code à développer, j'suis content d'avoir trouvé le tien :D

Sous Vista SP1, il ne fonctionne pas. La fenêtre transparent s'affiche avec les barres de volume, mais le son reste au même niveau^^
J'ai modifié le header de Windows utilisé. Tu utilisais "#define _WIN32_WINNT 0x0500"
j'ai essayé de le remplacer par "#define NTDDI_VISTASP1 0x0500", mais malheureusement, j'obtiens ces erreurs :

volume.cpp: In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
volume.cpp:374: error: `LWA_COLORKEY' undeclared (first use this function)
volume.cpp:374: error: (Each undeclared identifier is reported only once for each function it appears in.)
volume.cpp:374: error: `SetLayeredWindowAttributes' undeclared (first use this function)

j'approfondis mon analyse de ton code, et j'essaie de trouver une solution pour Vista (oui oui j'ai de l'espoir :D )

Très bonne initiative en tous cas d'avoir développé cette application.
Messages postés
21
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
26 février 2009

Le problème c'est surtout vista, si tu vois ce que je veux dire...! lol
Messages postés
954
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
11 novembre 2008
2
Salut !

Petit problème de compactibilité avec vista.
Le hook marche sans problème mais les fonctions de gestion du son ne marche pas du tout.
Donc le niveau sonore ne monte pas, ne baisse pas, et ne peut pas être mute.
Une idée ?

@+
Messages postés
21
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
26 février 2009

Y avraiment personne qui sait quel autre partie du code il faut modifier pr corriger ce prob. ?
Merci !
Messages postés
21
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
26 février 2009

Bonjour,

Est-ce que quelqu'un saurait svp me dire quelle est la modification que je dois faire en plus de celles dans "SetLayeredWindowAttributes()" pour modifier la couleur de fond et l'opacité de la fenêtre ?
Si je vous demande ça, c'est que quoique je mette ds "SetLayeredWindowAttributes()", j'obtiens tjrs un fond blanc et d'une opacité totale...

Merci d'avance !
Afficher les 43 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.