Maneira fácil de alternar o dispositivo de saída de som padrão

21

Quero uma maneira mais fácil de alterar meu dispositivo de som padrão da placa de som para o fone de ouvido USB.

Atualmente, é necessário um clique direito, um clique esquerdo, outro clique direito e mais dois cliques esquerdos.

Idealmente, eu poderia apenas trocá-lo com uma tecla de atalho. (era um pouco mais fácil no XP, mas não muito).

Uma solução de software é preferida, mas estou aberto a sugestões que usem hardware.

Atualmente, estou executando o Windows 7.

robertpateii
fonte
Conte-me sobre isso! E o Windows deve ser projetado para facilitar o uso. Pfft
Will Sheppard

Respostas:

16

Gratuito e de código aberto: SoundSwitch

insira a descrição da imagem aqui

Franck Dernoncourt
fonte
Parece legal. Vou ter que tentar.
MBraedley
Agradável!! Funciona ok!
Pedro77
Parece que o autor original, Jeroen Pelgrims, entregou o desenvolvimento em agosto de 2015 a Antoine Aflalo, que o atualizou para o Windows 10 e mudou a atividade de desenvolvimento para Belphemur / SoundSwitch no github .
22816 Robertpateii #
1
Esse é um ótimo programa. Uma dica: você pode renomear seus dispositivos de som de 1) Execução c:\windows\system32\control.exe mmsys.cpl2) Clique com o botão direito do mouse em seu dispositivo de som -> Propriedades. Os novos nomes serão atualizados para o SoundSwitch depois que você reiniciar o programa.
Np8 10/07/16
12

Eu uso o NirCMD , uma ferramenta de linha de comando bacana que permite editar muitas configurações do Windows usando um script.

Nesse caso, isso seria

nircmd.exe setdefaultsounddevice "USB Headset"

Uso-o para mudar meu monitor principal para minha TV e emitir o som através de HDMI para esse dispositivo:

nircmdc.exe setprimarydisplay \\.\DISPLAY7
nircmdc.exe setdefaultsounddevice "SONY TV-4"
Jeroen Baert
fonte
9

Use o AutoIt

A principal vantagem é que você não precisa instalar nenhum software. Funciona pronto para uso. Depois de criar a ferramenta, coloque um atalho na área de trabalho para alternar seus dispositivos.

Como configurar

  1. Crie um novo arquivo de texto com o bloco de notas e copie e cole o código

    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. Edite as linhas 4 e 8 de acordo send("{DOWN}")com suas necessidades. O código de exemplo acima alterna apenas entre os dispositivos 1 e 2. Você precisa editar duas linhas de acordo com suas necessidades. Veja minhas explicações abaixo.

  3. Substitua "Alto-falantes" e "Fone de ouvido" pelo nome do seu dispositivo correspondente ou algo semelhante
    Posteriormente, essa dica será mostrada na bandeja por 5 segundos se você alternar os dispositivos de som

  4. Nas versões não inglesas do Windows, é necessário substituir Definir padrão nas linhas 6 e 10 pelo texto do botão localizado
    insira a descrição da imagem aqui

  5. Salve o arquivo como algo.au3

  6. Baixe a versão compactada do AutoIt e extraia-a. Vá para a subpasta Aut2Exe e inicie o Aut2exe.exe para converter o script .AU3 em um arquivo .EXE. Você está feito

Referência a todos os comandos AutoIt


Ou use o AutoHotKey

É basicamente o mesmo, apenas com o AutoHotKey. A ligação das teclas é feita diretamente no script, o #!zque significa que, toda vez que você pressiona Alt+ Win+, zalterna entre o dispositivo # 1 e # 2.

Como configurar

  1. Cole o código abaixo em um arquivo de texto e salve-o como 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. Faça o download do AutoHotKey (Unicode 32 bits) e extraiaAutoHotKey.exe

  3. Crie um atalho para esse .EXE e modifique a linha de destino de acordo com seus próprios caminhos

    "C:\myfolder\AutoHotkey.exe" "C:\myfolder\SoundToggle.ahk"
    
  4. Mova o atalho para sua pasta de inicialização


Como editar send("{DOWN}")linhas

Abra o painel de som com Win+ Re insira o controle mmsys.cpl sounds . Você quer saber quantas vezes você precisa pressionar a DOWNtecla para chegar ao seu primeiro dispositivo de som e quantas vezes pressionar DOWNnovamente para alcançar o segundo dispositivo.

Por exemplo, para alternar entre os dispositivos 3 e 5, é necessário pressionar três vezes send("{DOWN 3}")e pressionar novamente mais duas vezes send("{DOWN 2}")para alcançar o quinto dispositivo (3x para baixo + 2x para baixo = quinto dispositivo). Você entendeu a ideia.

insira a descrição da imagem aqui

nixda
fonte
Autohotkey é realmente limpo. Apenas uma observação de que pode ser necessário sleep, 100enviar entre a tecla {Down} e fazer a ControlGet. Meu script não reconheceu o Enabledstatus corretamente, caso contrário.
Wizongod 04/04
Além disso, você deve instalar o Autoit e também codificar o script, acho que a primeira solução é muito mais fácil e prática.
Arana
8

Esse aplicativo chamado " Coastal Audio Changer " deve funcionar no Windows 7. A partir de 2012, ele tem uma avaliação gratuita e custa US $ 3. O autor, Andrew Bailey, hospeda o julgamento e compra os links neste site dedicado do Coastal Audio Changer .

Sérgio Gomes
fonte
Acabei usando o julgamento deste aplicativo e depois comprando. Foi um pouco buggy no começo, mas o autor lançou uma nova versão em abril de 2011 e agora eu adoro isso. é perfeito e vale totalmente os 5 dólares. :)
robertpateii
6
Usando isso agora porque é mais simples, funciona melhor, e é open source: soundswitch.codeplex.com
robertpateii
1
Você poderia resumir a solução aqui? Quando esse link acabar (quando, e não se), sua resposta se tornará inútil.
Joris Groosman