web-dev-qa-db-fra.com

Comment gérer plusieurs périphériques de lecture audio sous Windows Vista / 7?

J'ai des haut-parleurs (entrée audio) et des écouteurs (un casque USB avec sa propre carte son) connectés à mon ordinateur de bureau. Sous Windows 7, je peux cliquer avec le bouton droit de la souris sur le mélangeur audio et sélectionner les périphériques de lecture et basculer entre mes ces appareils.

Existe-t-il un moyen plus simple, peut-être un raccourci clavier, qui permettrait de basculer plus facilement? Je travaille dans un espace partagé où, parfois, je veux des écouteurs pour ne pas gêner les autres personnes, mais à d'autres moments, les haut-parleurs sont acceptables. Je veux pouvoir basculer rapidement. Dans un monde idéal, la solution à ma question fonctionnerait également sous Vista.

33
Brian Lyttle

La solution à tous vos problèmes d’automatisation Windows: AutoIt !

Mettez cette AutoIt et compilez-la

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

Créez maintenant un raccourci et, dans la cible, indiquez le chemin d'accès à l'exécutable compilé. En guise d'argument, insérez le numéro du périphérique audio dans la liste vers laquelle vous souhaitez basculer. (pour passer au premier élément de la liste, mettez 1, le deuxième élément de la liste, mettez 2, etc.). Si vous souhaitez un raccourci clavier, utilisez le champ Raccourci dans la fenêtre des propriétés du raccourci.

J'avais cherché quelque chose à faire ce que vous vouliez faire et avais trouvé qu'il n'y avait aucun moyen de programmation permettant de changer de périphérique audio dans Vista/7. Ce n'est tout simplement pas quelque chose que Microsoft a décidé que les programmeurs devaient faire. Je crée donc ce script pour automatiser le processus. Ce n'est pas le meilleur car il fait apparaître la fenêtre pour changer de périphérique (nécessaire), mais cela permet de créer des raccourcis pour changer le périphérique de sortie de votre son.

19
Dan Walker

Le changeur audio par défaut est actuellement la meilleure solution, à mon avis.

Il utilise des appels système non documentés au lieu de simuler des pressions au clavier, ce qui signifie que vous pouvez l'utiliser sans souci dans des applications plein écran.

9
cptloop

@Dan Walker Belle solution, mais pas parfaite;)

Ce script utilise l'existence d'un fichier pour effectuer une bascule, vous pouvez donc utiliser le même raccourci pour basculer entre les périphériques de lecture. C'est juste une simple édition:

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

Googlé cela pendant un moment et la seule chose qui a fait l'affaire pour moi est un script de AutoHotKey, le seul souhait que j'ai est de faire cela en arrière-plan .. Voici le script:

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

Vous pouvez le changer pour répondre à vos besoins

3
fakts

la solution de fakt fonctionne à merveille. Voici un petit script pour autohotkey qui sélectionne le premier périphérique audio par défaut lorsque vous appuyez sur "F4" et le second lorsque vous appuyez sur "F3". Cette version fonctionne avec toutes les versions de Windows. Testé sous 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

@cptloop Le changeur audio par défaut était plutôt bon, mais ennuyeux ne voulait pas définir un périphérique comme périphérique de communication par défaut après l'avoir défini comme périphérique par défaut.

Cela m’a amené à trouver un commutateur audio doté de plusieurs fonctionnalités:

  • Prise en charge de la commutation des appareils d'enregistrement
  • Prise en charge de plusieurs raccourcis clavier
  • Double commutateur (permuter les périphériques par défaut et de communication)
  • Et plus!

La seule chose que je n'aime pas, c'est que cela ne vous permet pas d'utiliser un seul raccourci clavier pour basculer entre deux périphériques, chacun doit être configuré avec son propre raccourci clavier. Cela dit, la v2.0 est en développement et promet des améliorations de fonctionnalités, ainsi que la prise en charge des plugins. Ils ont également publié l'API sous-jacente, il est donc possible de créer votre propre solution sur mesure.

Éditer: Selon xenolightning/AudioSwitcher_v1 # 607 , la possibilité de basculer/cycle des périphériques est déjà implémentée dans la v2.0.

2
Dave Hughes

Un autre bon programme pour ce faire est Audio Router. C'est un programme libre (GPL) avec les versions de système d'exploitation 64 bits et 32 ​​bits. Voici le lien GitHub du programme:

Routeur audio

Voici un simple GIF de la façon dont il est utilisé:

enter image description here

0
user2597747