Para silenciar o activar el volumen del sistema, se puede simular la pulsación de tecla Mute utilizando el WshShell.SendKeys
método:
var oShell = new ActiveXObject("WScript.Shell");
oShell.SendKeys(Chr(&HAD));
Como para cambiar el nivel de volumen de un guión, hay una solución que implica una cierta automatización de Windows, como iniciar el applet de System Volume y simular los atajos de teclado apropiados en él, pero no creo que sea confiable. Por lo tanto, le recomiendo que utilice alguna utilidad externa capaz de cambiar el nivel de volumen y llamarlo desde su secuencia de comandos. Por ejemplo, se puede utilizar la herramienta gratuita NirCmd:
var oShell = new ActiveXObject("WScript.Shell");
// Increase the system volume by 20000 units (out of 65535)
oShell.Run("nircmd.exe changesysvolume 20000");
// Decrease the system volume by 5000 units
oShell.Run("nircmd.exe changesysvolume -5000");
NirCmd también puede silenciar o activar el volumen del sistema:
var oShell = new ActiveXObject("WScript.Shell");
oShell.Run("nircmd.exe mutesysvolume 0"); // unmute
oShell.Run("nircmd.exe mutesysvolume 1"); // mute
oShell.Run("nircmd.exe mutesysvolume 2"); // switch between mute and unmute
Esto funciona perfectamente, ¡incluso para Windows 7 (32 bits)! Tengo una corrección, sin embargo, en que "mutesysvolume 0" se activa y "mutesysvolume 1" es mudo. –
Ah, claro. Solucionado eso. – Helen
nircmd es increíble, incluso puede controlar el volumen de la aplicación y los controles del mezclador individuales – akostadinov