Чи можливо змінити гучність у Windows XP за допомогою командного рядка?
Чи можливо змінити гучність у Windows XP за допомогою командного рядка?
Відповіді:
NirCmd - це програма, яка робить це та багато іншого.
Приклад використання:
nircmd.exe changesysvolume 2000
nircmd.exe changesysvolume -5000
nircmd.exe setsysvolume 65535
nircmd.exe mutesysvolume 1
nircmd.exe mutesysvolume 0
nircmd
.
Прочитавши ці пости та шукаючи альтернативи, я вирішив написати власну утиліту командного рядка, що називається SetVol, щоб встановити гучність. Це працює трохи простіше, ніж те, що описано в деяких інших публікаціях на цій сторінці, ось кілька прикладів, які ви б ввели в командному рядку:
setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute
Є й інші варіанти. Я випустив це безкоштовно, і ви можете відвідати www.rlatour.com/setvol для отримання додаткової інформації та завантаження копії.
Насолоджуйтесь
errorlevel
(так що я можу зберегти поточне налаштування, щоб згодом відновити його)
Зробіть файли 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
Покажіть регулятор гучності, щоб ви могли бачити, що ви робите:
sndvol
(or maybe sndvol32)
Зміна гучності:
cscript voldown.js
Примітка. Цей підхід у мене надійно працював на машинах, на яких я намагався його використовувати. Відповідь Олени на питання StaboOverflow Сібо Лін з цього приводувказує, що вимкнення звуку не є надійним, але зміна гучності може бути не настільки надійною. Я підозрюю, що рівень надійності може бути різним на різних машинах. Цей підхід використовує технологію імітації натискання клавіші, а саме клавішу регулювання гучності на розширеній медіа-клавіатурі. На той момент, коли Windows почала підтримувати це, така клавіатура в основному була малопотужною легковажною функцією, яка пропонувала функціонал, який раніше був доступний лише для користувацьких драйверів. Мене не здивувало б, якби цей код був менш відшліфованим, і менше шансів працювати на якомусь різному (можливо, старшому) апаратному забезпеченні, яке там знаходиться. Все, що говорило, я сам із цим не мав проблем.
Кредити:
Одне застереження: це питання позначено Windows XP. Я просто спробував це в Windows 10. Я знаю, що я використав це в Windows 7 (принаймні достатньо, щоб перевірити його). Оскільки я вперше почав бачити вбудовану підтримку Microsoft для цих розширених клавіатур ще за часів Windows ME, я думаю, що це, ймовірно, може також добре виграти WinXP. Я не пам'ятаю, чи справді я тестував це в цій операційній системі. Однак, якщо цей підхід не працює добре, я не думаю, що він спричинить проблемні побічні ефекти.
pip install SendKeys
(чистий пакет Python для емуляції натискань клавіш), за яким слід емулювати python -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])"
одним натисканням та випуском клавіші гучності. Для емуляції 100 різних пресів (наприклад), ви можете вставляти їх * 100
після закриття ]
та перед фіналом )
.
Завдяки та подальшому спрощенню 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%
збережіть його як .bat файл і виконайте, передавши параметр
наприклад: sound 60
встановить гучність звуку 60%
переконайтеся, що ви розмістили файл bat або поруч із nircmd, або в %windir%
(або визначте його папку в %path%
)