Czego potrzebuję
Szukam narzędzia lub skryptu, który pozwoli mi uzyskać dostęp do poziomów głośności systemu Windows z wiersza polecenia. Idealnie pozwoliłoby mi to uzyskać i ustawić wszystkie woluminy, w tym poziomy aplikacji, ale zadowoliłbym się tylko uzyskaniem i tylko poziomem głównym. Nie mam nic przeciwko, jeśli używa PowerShell
, WMI
, JavaScript
, .Net
, Voodoo, czy motyle. Każde rozwiązanie, które da mi tylko numer, który mogę dalej przetwarzać w celu dopasowania zakresu od 0% do 100%, wystarczy.
Innymi słowy, podpowiedzi to czarna skrzynka, którą muszę wypełnić:
C:\> getvol master
50
lub nawet
C:\> wmic <alias> where "device='master' and name='volume'" get name,value
Name Value
Volume 0xDEADBEEF
Nie przeszkadza mi to, że muszę poświęcić trochę czasu, aby to owinąć, a nawet sam napisać coś, jeśli narzędzia do tego są dostępne bezpłatnie. W tym drugim przypadku potrzebowałbym kilku wskaźników / proof-of-concept dla rdzenia, ale mogę samodzielnie zarządzać cruft. Chciałbym również unikać instalowania nowych ram programistycznych tylko w tym celu (zwróć uwagę, że odpowiedzi zarówno music2myear, jak i iglvzx zostały podane przed wprowadzeniem tych wymagań).
Jako „platformy” mam dostępne:
- wszystko, co pochodzi z Windows 7 Home Premium
- wszystko, co pochodzi z Cygwin
- Perl
- Pyton
- Rubin
Zasadniczo preferowane są rozwiązania typu open source. Narzędzia z zamkniętym źródłem są w porządku, pod warunkiem, że są bezpłatne i źródłu można zaufać. Rozwiązań komercyjnych nie da się.
Czego nie potrzebuję
- Istnieje kilka podobnych pytań, które w większości dotyczą ustawiania głośności. Przede wszystkim muszę uzyskać głośność, a nie ustawić.
- Istnieje
nircmdc
, który obsługuje ustawianie głośności, ale nie jest uzyskiwanie. - W moim rejestrze jest klucz [1], który ma wartości, które zmieniają się przewidywalnie, kiedy dostosowuję głośność za pomocą miksera GUI, ale zgaduję, że czytanie tego klucza jest podatne na uszkodzenie przy zmianach sprzętowych lub aktualizacjach systemu. O ile nie mogę polegać na tym, że rozwiązanie jest wystarczająco przyszłościowe, nie mogę go użyć.
- Istnieją
AutoHotKey
iWSH
rozwiązania do ustawiania głośności w Internecie, ale a) one także są dobre tylko do ustawienia, a co gorsza, b) używająSendKeys
lub zautomatyzowanego ruchu myszy do sterowania GUI. Automatyzacja GUI nie jest opcją.
##windows
Kanał na freenode jest nieprzydatny, jak zawsze, Google przepełnia hacki i połowiczne obejścia, a ja nie mogę powiedzieć wywołanie WinAPI z Wiccaninem inkantacji.
Czy ktoś zna sposób?
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\MixerSettings\eLineOutTopo\PrimaryNode000