У меня было точно такое же требование, как и у вас, и ПОСЛЕ ТОГО, как я наткнулся на вашу публикацию, я обнаружил следующее:
https://web.archive.org/web/20131231034118/http://downloadsquad.switched.com/2010/06/16/windows-7-tip-how-to-change-the-default-audio-device-with-a-hot/
К сожалению, это не встроенная функция Windows;для этого требуется загрузить небольшой инструмент для создания сценариев с открытым исходным кодом, называемый AutoHotKey, но он прекрасно работает и требует лишь небольшого объема памяти (1 ~ 2,5 МБ)
Сценарий, представленный в исходной статье, не работаетдля меня.Он ищет включенные / отключенные устройства и изменяет это значение, а не меняет устройство по умолчанию.Я отредактировал его для переключения между двумя устройствами по умолчанию.Это работает, открыв панель управления звуком (mmsys.cpl), затем прокрутив вниз список устройств воспроизведения до второго элемента в списке (это часть {Down 2}).Это потому, что мои выступающие являются вторым пунктом в моем списке.Затем он проверяет, установлено ли устройство по умолчанию или нет.Если нет, он устанавливает его по умолчанию и закрывает окно.Если это уже значение по умолчанию, оно прокручивается еще 2 раза и устанавливает его как значение по умолчанию.
Итак, вам нужно изменить строки {Down 2}, чтобы они соответствовали вашему собственному списку устройств.
#+a::
Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down 2}
ControlGet, selectedDevice, List, Focused, SysListView321
Loop, Parse, selectedDevice, %A_Tab%
if a_index <> 3
continue
else
{
if A_LoopField <> Default Device
{
ControlClick,&Set Default
ControlClick,OK
WinWaitClose
SoundPlay, *-1
return
}
else
{
ControlSend,SysListView321,{Down 2}
ControlClick,&Set Default
ControlClick,OK
WinWaitClose
SoundPlay, *-1
return
}
}