Я пытаюсь написать командный файл в Windows 10, который позволяет мне переключаться между гарнитурой и динамиками в качестве аудиоустройства по умолчанию при его запуске. Я не хочу использовать стороннее программное обеспечение.
Я попытался искать, но нашел только старые скрипты, которые, кажется, не работают, а также ссылаются на HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\
путь, который, кажется, больше не существует. Я не могу найти какую-либо информацию в реестре Windows 10 об этом, также я не слишком доволен работой с реестром, если я не уверен в том, что я делаю.
windows-10
audio
powershell
windows-registry
cmd.exe
zerothehero
источник
источник
Ответы:
Я ценю, что вы не хотите использовать какое-либо стороннее программное обеспечение, но в качестве опции, если вы не возражаете против использования ~ 100kb exe, вы можете использовать Nircmd с командами:
или
Вам необходимо убедиться, что вы используете точное название вашего аудиоустройства, как указано в разделе
Playback Devices
(щелкните правой кнопкой мыши на элементе управления звуком в системном трее). Может быть легче переименовать их подProperties
более простыми именами, особенно если имена конфликтуют каким-либо образом.Знак
1
в конце команды означает «Устройство по умолчанию». Использование2
означает «Устройство связи по умолчанию».Если вы действительно не хотите использовать сторонний инструмент, вот разница в ключе реестра, который, кажется, меняется, когда я меняю свое звуковое устройство по умолчанию, он может быть вам полезен, но я точно не знаю, что это делает. Это не так просто, как 1 или 0, чтобы указать, если это по умолчанию, это может показаться.
источник
Начиная с Windows 8 (или, может быть, раньше?) Аудио конфигурация ПК сохраняется в
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render
. ПодRender
ними находятся GUID-именованные ключи, каждый из которыхDeviceState
содержит значение dword в корне. Но как это закодировано?Смотрите DEVICE_STATE_XXX Константы на MSDN :
Так что скрипт powershell / bat для переключения между 1 и 2 должен сделать свое дело.
РЕДАКТИРОВАТЬ: Чтобы получить удобочитаемое имя устройства, прочитайте
{b3f8fa53-0004-438e-9003-51a46e139bfc},6
вProperties
подразделеисточник