È possibile modificare il volume in Windows XP tramite la riga di comando?
È possibile modificare il volume in Windows XP tramite la riga di comando?
Risposte:
NirCmd è un'applicazione che fa questo e altro.
Esempio di utilizzo:
nircmd.exe changesysvolume 2000
nircmd.exe changesysvolume -5000
nircmd.exe setsysvolume 65535
nircmd.exe mutesysvolume 1
nircmd.exe mutesysvolume 0
nircmd
.
Crea i file 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
Mostra il controllo del volume, in modo da poter vedere cosa stai facendo:
sndvol
(or maybe sndvol32)
Cambia il volume:
cscript voldown.js
Nota: questo approccio ha funzionato in modo affidabile su macchine su cui ho tentato di utilizzarlo. La risposta di Helen alla domanda StackOverflow di Sibo Lin al riguardoindica che il muting non è affidabile, ma la modifica del volume potrebbe non essere altrettanto affidabile. Sospetto che il livello di affidabilità possa essere diverso su macchine diverse. Questo approccio utilizza la tecnologia di imitazione di una sequenza di tasti, e in particolare un tasto di controllo del volume su una tastiera multimediale avanzata. Al momento in cui Windows ha iniziato a supportarlo, una tastiera del genere era fondamentalmente una funzione frivola poco utilizzata che offriva funzionalità che in precedenza era disponibile solo con driver personalizzati. Non mi sorprenderebbe se questo codice fosse meno raffinato e meno probabile che funzionasse su alcuni dei vari (forse vecchi) hardware disponibili. Detto questo, non ho avuto problemi da solo.
Titoli di coda:
Un avvertimento: questa domanda è stata taggata con Windows XP. Ho appena provato questo in Windows 10. So di averlo usato in Windows 7 (almeno abbastanza per provarlo). Quando ho iniziato a vedere il supporto integrato di Microsoft per queste tastiere avanzate nel periodo di Windows ME, penso che probabilmente funzionerà bene anche con WinXP. Non ricordo se in realtà ho provato questo con quel sistema operativo. Tuttavia, se questo approccio non funziona bene, non mi aspetto che causi effetti collaterali problematici.
pip install SendKeys
(pacchetto Python puro per emulare sequenze di tasti), seguito da python -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])"
, che emula una singola pressione e rilascio del tasto del volume. Per emulare 100 stampe distinte (ad esempio), è possibile inserire * 100
dopo la chiusura ]
e prima della finale )
.
Dopo aver letto questi post e aver cercato delle alternative, ho deciso di scrivere la mia utility da riga di comando, chiamata SetVol, per impostare il volume. Funziona un po 'più semplicemente di quanto descritto in alcuni degli altri post in questa pagina, ecco alcuni esempi che dovresti inserire al prompt dei comandi:
setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute
Ci sono anche altre opzioni. L'ho rilasciato come software gratuito e sei invitato a visitare www.rlatour.com/setvol per ulteriori informazioni e per scaricare una copia.
Godere
errorlevel
(in modo da poter salvare l'impostazione corrente per ripristinarla successivamente)
A causa e ulteriore semplificazione di 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%
salvarlo come file .bat ed eseguirlo passando un parametro
es: sound 60
imposta il volume del suono al 60%
assicurati di mettere il file bat accanto a nircmd o in %windir%
(o definisci la sua cartella in %path%
)