2

У меня есть гарнитура со встроенным микрофоном и набор динамиков с микрофоном Blue Yeti, все они подключены к ПК с Windows 7.

Я хотел бы иметь возможность переключаться между микрофоном / динамиками гарнитуры и микрофоном и динамиками Yeti без необходимости заходить в параметры звука и вручную заменять аудиоустройство по умолчанию и устройство связи по умолчанию.

Я прогуглил программное обеспечение, чтобы сделать это, но не нашел никаких результатов, которые работают для микрофонов / записывающих устройств. Есть ли программное обеспечение, которое будет делать это, или мне придется самому заняться написанием?

3 ответа3

2

Команда Nircmd setdefaultsounddevice должна помочь вам:

nircmd setdefaultsounddevice [Имя устройства] {Роль}

Установите звуковое устройство по умолчанию в Windows 7/Vista/2008. [Имя устройства] - это имя устройства, которое отображается в списке звуковых устройств Windows, например: динамики, линейный вход, микрофон и т.д.

Параметр {Role} является необязательным и может создавать одно из следующих значений: 0 для консоли (значение по умолчанию), 1 для мультимедиа и 2 для связи.

Примеры:

setdefaultsounddevice "Line In"
setdefaultsounddevice "Микрофон" 2

Вы можете легко создать ярлык для этого вручную или используя cmdshortcut или cmdshortcutkey.

Эта ветка форума AutoHotkey также содержит скрипты, которые могут оказаться полезными.

Наконец, Set Sound Device - это скомпилированный скрипт AutoIt, который поможет вам сделать то же самое:

SSD позволяет изменять звуковое устройство по умолчанию для Win7 (возможно, работает и для Vista, но это не проверено) с помощью командной строки. Для вызова SSD из командной строки используется синтаксис «SSD.exe #» (где # - это номер звукового устройства, которое нужно выбрать из списка, чтобы сделать выбор устройства доступным, необходимо включить раскрывающийся список «Выбор по умолчанию»).

1

1

Используйте AutoIt и соберите свой собственный.EXE для автоматизации процесса обмена.
Привязать ярлык к этому.EXE для большего комфорта.

Этот скрипт делает то же самое, что и вы, когда вы вручную меняете устройства, но только с помощью клавиатуры, а не мыши.

Как пользоваться

  1. Загрузите и распакуйте самораспаковывающийся архив AutoIt
  2. Скопируйте и вставьте этот код в новый текстовый файл

    Run("c:\windows\system32\control.exe mmsys.cpl")
    WinWaitActive("Sound")
    WinSetOnTop ("Sound","Sound", 1 )
    
    ;Toggle between sound device 1 and 2
    send("{DOWN}")
    if ControlCommand("Sound", "", 1002, 'IsEnabled') Then
        ControlClick("Sound", "Set Default", 1002)
        $message = "Headset 1"
    else
        send("{DOWN}")
        ControlClick("Sound", "Set Default", 1002)
        $message = "Headset 2"
    EndIf
    
    ;Toggle between microphone device 1 and 2
    Send("{TAB 5}")
    Send("{RIGHT}")
    send("{DOWN}")
    if ControlCommand("Sound", "", 1002, 'IsEnabled') Then
        ControlClick("Sound", "Set Default", 1002)
    else
        send("{DOWN}")
        ControlClick("Sound", "Set Default", 1002)   
    EndIf
    
    WinClose("Sound")
    TrayTip("", $message, 5)
    Sleep(2000)
    
  3. Сохраните его как deviceswapper.au3
  4. Откройте AutoIt\install\Aut2Exe\Aut2exe.exe и преобразуйте.Файл AU3 в.EXE
  5. Создать ярлык для этого.EXE и настроить подходящую комбинацию клавиш

Примечание. В локализованных версиях Windows (немецкий, испанский, французский и т.д.)
Вы должны заменить строку Set Default на ваш локализованный текст кнопки.

Здесь вы можете прочитать больше обо всех используемых командах.

0

Вот что я в итоге сделал, взяв компоненты из каждого из приведенных выше ответов и свернув их в скрипт AutoHotKey. Я поместил nircmd в C:\bin (действительно, в любом месте системного пути сработало бы), но остальное должно быть довольно самоочевидным.

; This sets it to desktop speakers, so that the toggle works correctly
; without having to detect the setting from system
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop" 0
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop" 2
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop Mic" 0
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop Mic" 2

DesktopSpeakersActive = 1

; Change this to change which key this is bound to
Pause::
if DesktopSpeakersActive = 0
{
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop" 0
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop" 2
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop Mic" 0
Run C:\bin\nircmd.exe setdefaultsounddevice "Desktop Mic" 2
DesktopSpeakersActive = 1
TrayTip, , Desktop Speakers
}
else
{
Run C:\bin\nircmd.exe setdefaultsounddevice "Headset" 0
Run C:\bin\nircmd.exe setdefaultsounddevice "Headset" 2
Run C:\bin\nircmd.exe setdefaultsounddevice "Headset Mic" 0
Run C:\bin\nircmd.exe setdefaultsounddevice "Headset Mic" 2
DesktopSpeakersActive = 0
TrayTip, , Headset Speakers
}
return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .