Ce dont j'ai besoin
Je recherche un outil ou un script qui me permet d'accéder aux niveaux de volume de Windows à partir de la ligne de commande. Idéalement, cela me permettrait d'obtenir et de définir tous les volumes, y compris les niveaux d'application, mais je me contenterais d'obtenir uniquement et uniquement le niveau principal. Je ne me dérange pas si elle utilise PowerShell
, WMI
, JavaScript
, .Net
, vaudou, ou papillons. Toute solution qui me donnera simplement un nombre que je peux traiter plus en détail pour s'adapter à une plage de 0% à 100% fera l'affaire.
Autrement dit, les parties d'invite sont la boîte noire que j'ai besoin de remplir:
C:\> getvol master
50
ou même
C:\> wmic <alias> where "device='master' and name='volume'" get name,value
Name Value
Volume 0xDEADBEEF
Cela ne me dérange pas si je dois passer un peu de temps pour l'envelopper ou même écrire quelque chose moi-même si les outils pour le faire sont disponibles gratuitement. Dans ce dernier cas, j'aurais besoin de quelques pointeurs / preuves de concept pour le noyau, mais je peux gérer la cruauté par moi-même. Je voudrais également éviter d'installer de nouveaux cadres de développement juste à cette fin (notez que les réponses de music2myear et d' iglvzx ont été données avant que j'introduise ces exigences).
En tant que "plateformes", je dispose:
- tout ce qui vient avec Windows 7 Home Premium
- tout ce qui vient avec Cygwin
- Perl
- Python
- Rubis
Généralement, les solutions open source sont largement préférées. Les outils à source fermée sont corrects tant qu'ils sont gratuits et que la source peut être fiable. Les solutions commerciales sont interdites.
Ce dont je n'ai pas besoin
- Il y a quelques questions similaires qui concernent principalement le réglage du volume. Surtout, j'ai besoin d' obtenir le volume, pas réglé.
- Il y en a
nircmdc
, qui prend en charge le réglage du volume, mais pas le son. - Il y a une clé [1] dans mon registre qui a des valeurs qui changent de façon prévisible lorsque j'ajuste le volume via le mélangeur GUI, mais je suppose que la lecture de cette clé est sujette à une rupture lors de changements matériels ou de mises à niveau du système. À moins que je puisse compter sur une solution raisonnablement évolutive, je ne peux pas l'utiliser.
- Il existe
AutoHotKey
et desWSH
solutions pour régler le volume sur le Web, mais a) elles aussi ne sont bonnes que pour le réglage et, pire, b) elles utilisentSendKeys
ou un mouvement automatisé de la souris pour contrôler l'interface graphique. L'automatisation de l'interface graphique n'est pas une option.
Le ##windows
canal sur freenode n'est toujours pas utile, Google déborde de hacks et de solutions de contournement à moitié cuites, et je ne peux pas distinguer un appel WinAPI d'une incantation Wiccan.
Quelqu'un connaît-il un moyen?
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\MixerSettings\eLineOutTopo\PrimaryNode000