it-swarm-pt.tech

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

Eu 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 em Mixer de áudio 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.

33
Brian Lyttle

A solução para todos os seus 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 por algo para fazer o que você queria fazer, e descobri que não há nenhuma maneira programática de trocar dispositivos de áudio no Vista/7. Não é algo que a Microsoft decidiu que os programadores precisam fazer, então faço esse script para automatizar o processo. Não é o melhor, pois aparece a janela para alterar o dispositivo (necessário), mas torna possível criar atalhos para alterar o dispositivo de saída para o seu som.

19
Dan Walker

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.

9
cptloop

@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)
4
Andy Ray

Googled isso por um tempo e a única coisa que fez o truque para mim é um script de 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 mudá-lo para atender às suas necessidades

3
fakts

a solução de 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
3
NTyp

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 Audio Switcher , que tem vários recursos adicionais:

  • Suporte para comutar dispositivos de gravação
  • Suporte para múltiplas teclas de atalho
  • Switch duplo (trocar 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 isto, v2.0 está em desenvolvimento e promete algumas melhorias de recursos, bem como suporte a plugins. Eles também publicaram a API subjacente, por isso é possível criar sua própria solução personalizada.

Edit: Como por xenolightning/AudioSwitcher_v1 # 607 , a capacidade de alternar/ciclo dispositivos já está implementada na v2.0.

2
Dave Hughes

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

Aqui está um GIF simples de como é usado:

enter image description here

0
user2597747