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

21

Я хочу более простой способ изменить звуковое устройство по умолчанию со своей звуковой карты на мою USB-гарнитуру.

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

В идеале я мог бы просто поменять его с помощью сочетания клавиш. (это было немного проще в XP, но не намного.)

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

Я использую Windows 7 в настоящее время.

robertpateii
источник
Расскажи мне об этом! И Windows должна быть разработана для простоты использования. Пффт
Уилл Шеппард

Ответы:

16

Бесплатный и с открытым исходным кодом: SoundSwitch

введите описание изображения здесь

Франк Дернонкур
источник
Выглядит круто. Я должен дать этому попытку.
MBraedley
Ницца!! Работает нормально!
Pedro77
Похоже, что первоначальный автор, Jeroen Pelgrims, передал разработку в августе 2015 года Антуану Афлало, который обновил ее для Windows 10 и переместил деятельность по разработке в Belphemur / SoundSwitch на github .
robertpateii
1
Это отличная программа. Один совет: вы можете переименовать ваши звуковые устройства из 1) Запустить c:\windows\system32\control.exe mmsys.cpl2) Щелкните правой кнопкой мыши ваше звуковое устройство -> Свойства. Новые имена будут обновлены до SoundSwitch после перезапуска программы.
np8
12

Я использую NirCMD , отличный инструмент командной строки, который позволяет вам редактировать множество настроек Windows, используя скрипт.

В этом случае это было бы

nircmd.exe setdefaultsounddevice "USB Headset"

Я использую его для переключения моего основного монитора на телевизор и вывода звука через HDMI на это устройство:

nircmdc.exe setprimarydisplay \\.\DISPLAY7
nircmdc.exe setdefaultsounddevice "SONY TV-4"
Йерун Баерт
источник
9

Использовать AutoIt

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

Как настроить

  1. Создайте новый текстовый файл с помощью блокнота, скопируйте и вставьте код

    Run("c:\windows\system32\control.exe mmsys.cpl")
    WinWaitActive("Sound")
    WinSetOnTop ("Sound","Sound", 1 )
    send("{DOWN}")
    if ControlCommand("Sound", "", 1002, 'IsEnabled') Then
        ControlClick("Sound", "Set Default", 1002)
        $message = "Speakers"
    else
        send("{DOWN}")
        ControlClick("Sound", "Set Default", 1002)
        $message = "Headset"
    EndIf
    WinClose("Sound")
    TrayTip("", $message, 5)
    Sleep(2000)
    
  2. Отредактируйте строки 4 и 8 send("{DOWN}")в соответствии с вашими потребностями. Пример кода выше переключает только между устройством № 1 и № 2. Вы должны отредактировать две строки для ваших нужд. Смотрите мои объяснения ниже.

  3. Замените «Динамики» и «Гарнитура» на соответствующее имя устройства или что-то подобное.
    Позже, эта подсказка будет отображаться в вашем трее в течение 5 секунд, если вы переключаете звуковые устройства

  4. В неанглийских версиях Windows вы должны заменить Set Default в строках 6 и 10 на локализованный текст кнопки.
    введите описание изображения здесь

  5. Сохраните файл как что-то .au3

  6. Загрузите упакованную версию AutoIt и распакуйте ее. Перейдите в подпапку Aut2Exe и запустите Aut2exe.exe, чтобы преобразовать скрипт .AU3 в файл .EXE. Вы сделали

Ссылка на все команды AutoIt


Или используйте AutoHotKey

Это в основном то же самое, только с AutoHotKey. Привязка клавиш выполняется прямо в скрипте, а #!zэто означает, что каждый раз, когда вы нажимаете Alt+ Win+, zвы переключаетесь между вашим устройством № 1 и № 2.

Как настроить

  1. Вставьте приведенный ниже код в текстовый файл и сохраните его как SoundToggle.ahk

    #!z::
    Run, c:\windows\system32\control.exe mmsys.cpl    
    WinWaitActive, Sound
    WinSet, AlwaysOnTop, On, Sound    
    Send, {DOWN}    
    ControlGet, MyState, Enabled, , Button2
    If (MyState = 1){
        ControlClick, Button2, A
    } Else {
        Send, {DOWN}
        ControlClick, Button2, A
    }    
    WinClose, Sound        
    return
    
  2. Скачайте AutoHotKey (Unicode 32-bit) и распакуйтеAutoHotKey.exe

  3. Создайте ярлык для этого .EXE и измените целевую строку в соответствии с вашими собственными путями

    "C:\myfolder\AutoHotkey.exe" "C:\myfolder\SoundToggle.ahk"
    
  4. Переместите ярлык в папку автозагрузки


Как редактировать send("{DOWN}")строки

Откройте звуковую панель с помощью Win+ Rи введите контрольные звуки mmsys.cpl . Вы хотите знать, сколько раз вам нужно нажать DOWNклавишу, чтобы перейти к первому звуковому устройству, и сколько раз нажать DOWNеще раз, чтобы перейти ко второму устройству.

Например, чтобы переключить устройства № 3 и № 5, нужно нажать три раза send("{DOWN 3}")и еще раз нажать два раза, send("{DOWN 2}")чтобы добраться до пятого устройства (3 раза вниз + 2 раза вниз = 5-е устройство). Вы поняли идею.

введите описание изображения здесь

nixda
источник
AutoHotkey действительно аккуратный. Просто обратите внимание, что может потребоваться sleep, 100пересылка клавиши {Down} и выполнение команды a ControlGet. Мой скрипт не распознал Enabledстатус правильно в противном случае.
Визонгод
Также вам нужно установить Autoit, а также написать скрипт, я думаю, что первое решение намного проще и практичнее.
Арана
8

Это приложение под названием « Coastal Audio Changer » должно работать для Windows 7. Начиная с 2012 года оно имеет бесплатную пробную версию и стоит 3 доллара на покупку. Автор, Эндрю Бэйли, размещает ссылки для проб и покупок на этом специальном веб-сайте Coastal Audio Changer .

Сержиу Гомес
источник
я закончил тем, что использовал пробную версию этого приложения, а затем купил его. Сначала это было немного глючно, но затем автор выпустил новую версию в апреле 2011 года, и теперь я люблю ее. это прекрасно и полностью стоит 5 баксов. :)
robertpateii
6
Используя это сейчас, потому что это проще, работает лучше и с открытым исходным кодом: soundswitch.codeplex.com
robertpateii
1
Не могли бы вы обобщить решение здесь? Когда эта ссылка умрет (когда, а не если), ваш ответ станет бесполезным.
Йорис Гроусман