Lo que necesito
Estoy buscando una herramienta o un script que me permita acceder a los niveles de volumen de Windows desde la línea de comandos. Idealmente, me permitiría obtener y establecer todos los volúmenes, incluidos los niveles de aplicación, pero me conformaría con obtener solo y solo el nivel maestro. No me importa si se usa PowerShell
, WMI
, JavaScript
, .Net
, vudú, o mariposas. Cualquier solución que solo me dé un número que pueda procesar para un rango de 0% a 100% funcionará.
Dicho de otra manera, las partes de solicitud son el cuadro negro que necesito llenar:
C:\> getvol master
50
o incluso
C:\> wmic <alias> where "device='master' and name='volume'" get name,value
Name Value
Volume 0xDEADBEEF
No me importa si tengo que pasar algún tiempo para envolverlo o incluso escribir algo yo mismo si las herramientas para hacerlo están disponibles gratuitamente. En el último caso, necesitaría algunos punteros / prueba de concepto para el núcleo, pero puedo manejar el ruft por mi cuenta. También me gustaría evitar instalar nuevos marcos de desarrollo solo para este propósito (tenga en cuenta que las respuestas de music2myear e iglvzx se dieron antes de que introdujera estos requisitos).
Como "plataformas", tengo disponible:
- todo lo que viene con Windows 7 Home Premium
- todo lo que viene con Cygwin
- Perl
- Pitón
- Rubí
En general, las soluciones de código abierto son muy preferidas. Las herramientas de código cerrado están bien siempre que sean gratuitas y se pueda confiar en la fuente. Las soluciones comerciales son prohibidas.
Lo que no necesito
- Hay algunas preguntas similares que se ocupan principalmente de configurar el volumen. Sobre todo, necesito obtener el volumen, no establecerlo.
- Hay
nircmdc
, que admite la configuración de volumen, pero no obtener. - Hay una clave [1] en mi registro que tiene valores que cambian de manera predecible cuando ajusto el volumen a través del mezclador GUI, pero supongo que la lectura de esa clave es propensa a la rotura de cambios de hardware o actualizaciones del sistema. A menos que pueda confiar en que la solución esté razonablemente preparada para el futuro, no puedo usarla.
- Hay
AutoHotKey
yWSH
soluciones para configurar el volumen en la Web, pero a) también son buenas para configurar y, lo que es peor, b) usanSendKeys
el movimiento automático del mouse para controlar la GUI. Automatizar la GUI no es una opción.
El ##windows
canal en freenode es inútil como siempre, Google se desborda con hacks y soluciones a medio hacer, y no puedo distinguir una llamada WinAPI de un encantamiento Wiccan.
¿Alguien sabe de alguna manera?
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\MixerSettings\eLineOutTopo\PrimaryNode000