Cambiar el volumen de sonido de Windows a través de la línea de comando

19

¿Es posible cambiar el volumen en Windows XP a través de la línea de comando?

sotano
fuente
1
AutoHotkey puede hacer esto, lo que se podría compilar y llamada desde la línea de comandos
Mateo bloqueo
Necesitar una herramienta de terceros para establecer el volumen. Estoy totalmente asustado.
m3nda

Respuestas:

31

NirCmd es una aplicación que hace eso y más.

Ejemplo de uso:

  • Aumente el volumen del sistema en 2000 unidades (de 65535)
    nircmd.exe changesysvolume 2000
  • Disminuya el volumen del sistema en 5000 unidades (de 65535)
    nircmd.exe changesysvolume -5000
  • Establecer el volumen al valor más alto
    nircmd.exe setsysvolume 65535
  • Mudo
    nircmd.exe mutesysvolume 1
  • Dejar de silenciar
    nircmd.exe mutesysvolume 0
harrymc
fuente
2
Esperaba que hubiera un método estándar de Windows, pero esto parece muy útil. Aceptará esto si nadie suministra uno en los próximos dos días. Gracias Harry.
underskor
NirCmd se ve muy bien y muy práctico. Gracias por el consejo.
pavimentar
NirCmd también es ideal para silenciar una computadora portátil en cada inicio de sesión, de esta manera no seguirá emitiendo accidentalmente el sonido de "ding" en el tren (lo cual no noto debido a los auriculares hasta un momento embarazoso cuando alguien se molesta lo suficiente como para señalarlo .....)
RomanSt
2
Al parecer, esto también funciona en Windows 7, ya que algunas de las no respuestas eliminadas ahora se señalaron anteriormente.
Daniel Beck
Hay una secuencia de comandos interactiva fácil de usar que hice para la simplificación que depende nircmd.
8

Crea los archivos JavaScript:

echo var oShell = new ActiveXObject("WScript.Shell"); >> volup.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAF)); >> volup.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> voldown.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAE)); >> voldown.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> togglemute.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAD)); >> togglemute.js

Muestra el control de volumen para que puedas ver lo que estás haciendo:

sndvol
(or maybe sndvol32)

Cambia el volumen:

cscript voldown.js

Nota: He tenido este enfoque funcionando de manera confiable en máquinas en las que he intentado usarlo. La respuesta de Helen a la pregunta StackOverflow de Sibo Lin sobre estoindica que el silenciamiento no es confiable, pero el cambio de volumen puede no ser tan confiable. Sospecho que el nivel de confiabilidad puede ser diferente en diferentes máquinas. Este enfoque utiliza la tecnología de imitar una pulsación de tecla, y específicamente una tecla de control de volumen en un teclado multimedia mejorado. En el momento en que Windows comenzó a admitir esto, dicho teclado era básicamente una función frívola poco utilizada que ofrecía una funcionalidad que anteriormente solo estaba disponible con controladores personalizados. No me sorprendería si este código estuviera menos pulido y fuera menos probable que funcionara en algunos de los diversos hardware (quizás más antiguos) que hay. Dicho todo esto, no he tenido problemas con eso.

Créditos

Una advertencia: esta pregunta se ha etiquetado con Windows XP. Acabo de probar esto en Windows 10. Sé que lo he usado en Windows 7 (al menos lo suficiente como para probarlo). Cuando comencé a ver el soporte integrado de Microsoft para estos teclados mejorados en la época de Windows ME, creo que es probable que esto también funcione bien en WinXP. No recuerdo si realmente probé esto con ese sistema operativo. Aún así, si este enfoque no funciona bien, no espero que cause efectos secundarios problemáticos.

TOOGAM
fuente
¡Gracias por compartir esos códigos clave! Como mi computadora ya tiene Python instalado, pude usar esto en la línea de comando: pip install SendKeys(paquete Python puro para emular pulsaciones de teclas), seguido de python -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])", que emula una sola pulsación y liberación de la tecla de volumen. Para emular 100 prensas distintas (por ejemplo), puede insertar * 100después del cierre ]y antes de la final ).
ArtOfWarfare
7

Después de leer estas publicaciones y buscar alternativas, decidí escribir mi propia utilidad de línea de comandos, llamada SetVol, para configurar el volumen. Funciona un poco más simple de lo que se describe en algunas de las otras publicaciones en esta página, aquí hay algunos ejemplos que ingresaría en el símbolo del sistema:

setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute

Hay otras opciones también. Lo lancé como software gratuito y puede visitar www.rlatour.com/setvol para obtener más información y descargar una copia.

Disfrutar

Robar
fuente
Esto es brillante. Muchas gracias por esta herramienta!
cssyphus
¡¡Gracias!! Sin embargo, REALMENTE necesito esto para configurar el volumen del micrófono. (Estoy usando Java pero no espero que JavaSound haga esto). ¿Se puede agregar?
Stefan Reich
¡Increíble gracias! Solicitud de funciones para el futuro: capacidad de devolver el nivel de volumen actual como errorlevel(para poder guardar la configuración actual y luego restaurarlo)
ashleedawg
1
Claro, puedo hacer eso, y de hecho, ¡acabo de hacerlo! El programa se ha actualizado a la versión 1.2 en el sitio web, es posible que deba actualizar su navegador para ver los cambios. Ahora hay un nuevo 'informe' de Parm que debería darle lo que desea. La ayuda en el sitio web y en la aplicación explica su uso. ¡Feliz Navidad!
Rob
(que dice devolver el nivel de volumen actual según la sugerencia de ashleedawg)
Rob
4

Debido y simplificando aún más Nircmd

@echo off
rem 65536 is 100%
rem device where zero is the default device
rem left and right
rem supports whole numbers only therefore throws "missing operator" error when specifying 655.36
set /a volume=%1 * 655
nircmd setvolume 0 %volume% %volume%

guárdelo como un archivo .bat y ejecútelo pasando un parámetro

por ejemplo: sound 60configurará el volumen del sonido en un 60%

asegúrese de colocar el archivo bat al lado del nircmd o en %windir%(o defina su carpeta %path%)


fuente