Перемикання аудіопристрою за замовчуванням за допомогою пакетного файлу


16

Я намагаюся написати пакетний файл на Windows 10, який дозволяє мені перемикатися між гарнітурою та динаміками як аудіопристрій за умовчанням, коли я запускаю його. Я не хочу використовувати сторонні програми.

Я намагався шукати навколо, але я знайшов тільки старі скрипти, які, здається, не працюють, а також посилаються на a HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\ шлях, який, здається, більше не існує. Я не можу знайти будь-яку інформацію про Windows 10 зареєструватися про це, а також я не в захваті занадто багато з реєстру, якщо я не впевнений, що я роблю.


1
Якщо ви відмовитеся від того, що не бажаєте використовувати третій учасник, я використовую audioswit.ch/er [так, це реальний URL] протягом приблизно 5 років. Гаряча клавіша також перемикається. [немає приналежності]
Tetsujin

Відповіді:


22

Дякуємо за те, що ви не бажаєте використовувати будь-яке програмне забезпечення третіх сторін, але як варіант, якщо ви не заперечуєте використання exe-100kb, ви можете використовувати Nircmd з командами:

nircmd setdefaultsounddevice "Speakers" 1

або

nircmd setdefaultsounddevice "Headphones" 1

Необхідно переконатися, що ви використовуєте точну назву ваших аудіопристроїв, зазначених у розділі Playback Devices (клацніть правою кнопкою миші на контролі звуку в системному лотку). Перейменувати їх можна легше Properties на більш прості імена, особливо якщо імена зіткнулися будь-яким чином.

The 1 наприкінці команди означає "Пристрій за замовчуванням". Використання 2 означає "Стандартний пристрій зв'язку".


Якщо ви дійсно не хочете використовувати інструмент третьої сторони, ось розділ розділу реєстру, який, здається, змінюється, коли я змінюю звуковий пристрій за умовчанням. це робить. Це не так просто, як 1 або 0, щоб вказати, якщо це за замовчуванням, здавалося б.

enter image description here


+1 від мене. Це найкращий шлях. Якщо ви дійсно не хочете, щоб nircmd розмістився де-небудь на вашому жорсткому диску (повірте мені, що ви хочете, його великий), то альтернативою було б перемкнути його двічі і зробити рег експорт ключа, згаданого тут і виконати право. файл. Не впевнений, що це спрацює, але це мій альтернативний підхід.
LPChip

Спасибі за відповідь, я насправді натрапив на nircmd себе, але було дійсно цікаво, щоб знайти спосіб зробити це без будь-якої сторонньої програми. Якщо жоден інший метод не з'явиться, я розгляну його використання.
zerothehero

6

Оскільки Windows 8 (або, можливо, раніше?) Конфігурація аудіо ПК зберігається в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render. Під Render є ключі з GUID, кожна з яких містить DeviceState значення dword в корені. Але як це закодовано?

Подивитися DEVICE_STATE_XXX Константи в MSDN :

  • 1 Активна
  • 2 Вимкнено
  • 4 Відсутня
  • 8 Відключено

Таким чином, powerhell / bat сценарій для перемикання між 1 і 2 повинен зробити трюк.

EDIT: Щоб отримати назву, що читається людиною, прочитайте {b3f8fa53-0004-438e-9003-51a46e139bfc},6 під Properties підрозділ

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.