Решение всех ваших проблем с автоматизацией Windows: AutoIt !
Поставь этот AutoIt и скомпилируй
;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----
Dim $ItemNumber = 1
If $CmdLine[0] >= 1 Then ;If we have a parameter...
$ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times.
EndIf
Run("control mmsys.cpl") ;Run the sound control applet and hide it.
WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.
Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list
For $i = 1 to $ItemNumber Step 1
Send("{DOWN}")
Next
Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)
Теперь создайте ярлык и в Target укажите путь к скомпилированному исполняемому файлу. В качестве аргумента укажите номер звукового устройства в списке, на который вы хотите переключиться. (чтобы перейти к верхнему элементу в списке, введите 1, второй элемент в списке, 2 и т. д.). Если вы хотите сочетание клавиш, используйте поле «Сочетание клавиш» в окне свойств ярлыка.
Я искал что-то, что могло бы сделать то, что вы хотели, и обнаружил, что в Vista / 7 нет программного способа переключения аудиоустройств. Это не то, что Microsoft решила, что программисты должны делать, поэтому я делаю этот скрипт для автоматизации процесса. Это не самый лучший вариант, так как он открывает окно для изменения устройства (обязательно), но позволяет создавать ярлыки для изменения устройства вывода для вашего звука.
По умолчанию Audio Changer на данный момент является лучшим решением.
Он использует недокументированные системные вызовы вместо имитации нажатия клавиш, что означает, что вы можете без проблем использовать его в полноэкранных приложениях.
источник
@Dan Walker Хорошее решение, но не идеальное;)
Этот скрипт использует наличие файла для фактического переключения, поэтому вы можете использовать тот же ярлык для переключения между воспроизводящими устройствами. Это просто редактирование:
источник
Погуглил это какое-то время, и единственное, что помогло мне, - это скрипт от AutoHotKey, единственное, что мне нужно, - это сделать это в фоновом режиме. Вот скрипт:
Вы можете изменить его, чтобы удовлетворить ваши потребности
источник
SendInput {Down}
вместоControlSend,SysListView321,{Down}
. Я также должен был изменить количество {Downs}, чтобы соответствовать моим аудиоустройствам.Решение факта работает как шарм. Вот небольшой скрипт для autohotkey, который выбирает первое аудиоустройство по умолчанию при нажатии «F4» и второе при нажатии «F3». Эта версия работает со всеми версиями Windows. Протестировано с использованием Win 7 64.
источник
@cptloop Default Audio Changer был довольно хорош, но досадно, что после установки в качестве устройства по умолчанию устройство не будет установлено в качестве устройства связи по умолчанию.
Это привело меня к поиску Audio Switcher , который имеет несколько дополнительных функций:
Единственное, что мне не нравится, это то, что он не позволяет использовать одну горячую клавишу для переключения между двумя устройствами, каждое из которых должно быть настроено с помощью собственной горячей клавиши. Тем не менее, v2.0 находится в разработке и обещает некоторые улучшения функций, а также поддержку плагинов. Они также опубликовали базовый API, так что можно создать собственное индивидуальное решение.
Редактирование: Согласно xenolightning / AudioSwitcher_v1 # 607 , возможность переключать / переключать устройства уже реализована в v2.0.
источник
Еще одна хорошая программа для этого - Audio Router. Это бесплатная (GPL) программа с 64-битной и 32-битной версиями ОС. Вот ссылка программы GitHub:
Аудио маршрутизатор
Вот простой GIF как он используется:
источник