Como gerencio vários dispositivos de reprodução de áudio no Windows Vista / 7?

33

Tenho alto-falantes (entrada de áudio) e fones de ouvido (fone de ouvido USB com sua própria placa de som) conectados ao meu computador desktop. No Windows 7, posso clicar com o botão direito do mouse no Audio Mixer e selecionar Dispositivos de reprodução e alternar entre meus dispositivos.

Existe uma maneira mais fácil, talvez um atalho de teclado, que tornaria mais fácil alternar? Eu estou trabalhando em um espaço compartilhado, às vezes eu quero fones de ouvido para evitar incomodar outras pessoas, mas em outros momentos os alto-falantes estão OK. Eu quero ser capaz de alternar rapidamente. Em um mundo ideal, a solução para minha pergunta também funcionaria no Vista.

    
por Brian Lyttle 15.08.2009 / 00:22

7 respostas

19

A solução para todos os seus incômodos problemas de automação do Windows: AutoIt !

Coloque este AutoIt e compile-o

;-----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)

Agora crie um atalho e, no Target, coloque o caminho para o executável compilado. Para um argumento, coloque o número do dispositivo de som na lista para a qual você deseja alternar. (para mudar para o primeiro item da lista, coloque 1, o segundo item da lista, coloque 2, etc). Se você quiser um atalho de teclado, use o campo Tecla de atalho na janela de propriedades do atalho.

Eu estava procurando algo para fazer o que você queria fazer e descobri que não há nenhuma maneira programática de alternar dispositivos de áudio no Vista / 7. Não é algo que a Microsoft decidiu que os programadores precisam fazer, então eu faço esse script para automatizar o processo. Não é o melhor, pois aparece a janela para alterar o dispositivo (necessário), mas permite criar atalhos para alterar o dispositivo de saída do som.

    
por 15.08.2009 / 00:55
9
O

Default Audio Changer é atualmente a melhor solução, na minha opinião.

Ele usa chamadas de sistema não documentadas em vez de simular pressionamentos de teclado, o que significa que você pode usá-lo em aplicativos de tela inteira sem se preocupar.

    
por 23.12.2011 / 14:06
4

@Dan Walker Solução agradável, mas não perfeita;)

Esse script usa a existência de um arquivo para realizar uma alternância, para que você possa usar o mesmo atalho para alternar entre os dispositivos de reprodução. É apenas uma edição simples:

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1 ; The first itme in the audio list

If FileExists ("a") Then; Use the existence of a file to know if we should toggle
    FileDelete("a")
    $ItemNumber = 3 ; The audio playback device you want to toggle to
Else
    FileOpen("a", 1)
    FileClose("a")
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)
    
por 22.10.2010 / 03:09
3

Pesquisei isso por um tempo e a única coisa que fez o truque para mim é um script da AutoHotKey, o único desejo que tenho é que isso seja feito em segundo plano. Aqui está o script:

Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK

Você pode alterá-lo para atender às suas necessidades

    
por 07.11.2009 / 21:27
3
A solução do

fakt funciona como um encanto. Aqui um pequeno script para autohotkey que seleciona o primeiro dispositivo de áudio como padrão quando você pressiona "F4" e o segundo ao pressionar "F3". Esta versão funciona com todas as versões do Windows. Testado usando o Win 7 64.

F3::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

F4::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return
    
por 11.12.2009 / 15:17
2

O @cptloop Default Audio Changer foi muito bom, mas irritantemente não configuraria um dispositivo como o dispositivo de comunicação padrão depois de ter sido configurado como o dispositivo padrão.

Isso me levou a encontrar o Audio Switcher , que tem vários recursos adicionais:

  • Suporte para alternar dispositivos de gravação
  • Suporte para várias teclas de atalho
  • Comutador duplo (troca os dispositivos padrão e de comunicação)
  • E mais!

A única coisa que eu não gosto, é que ele não permite que você use uma única tecla de atalho para alternar entre dois dispositivos, cada um precisa ser configurado com sua própria tecla de atalho. Dito isso, a versão 2.0 está em desenvolvimento e promete algumas melhorias de recursos, bem como suporte a plug-ins. Eles também publicaram a API subjacente, por isso é possível criar sua própria solução personalizada.

Editar: Conforme xenolightning / AudioSwitcher_v1 # 607 , a capacidade de ativar / desativar dispositivos já está implementada em v2.0.

    
por 03.05.2015 / 21:18
0

Outro bom programa para fazer isso é o Audio Router. É um programa gratuito (GPL) com versões do sistema operacional de 64 bits e 32 bits. Aqui está o link do GitHub do programa:

Roteador de áudio

Veja um GIF simples de como é usado:

    
por 25.10.2016 / 18:08