J'essaie d'écrire un fichier batch sur Windows 10 qui me permet de basculer entre mon casque et mes haut-parleurs en tant que périphérique audio par défaut lorsque je l'exécute. Je ne veux utiliser aucun logiciel tiers.
J'ai essayé de chercher, mais je n'ai trouvé que d'anciens scripts qui ne semblent pas fonctionner et font également référence à un HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\
chemin qui ne semble plus exister. Je ne trouve aucune information sur le registre Windows 10 à ce sujet, aussi je ne suis pas à l'aise de trop tripoter le registre si je ne suis pas sûr de ce que je fais.
windows-10
audio
powershell
windows-registry
cmd.exe
zerothehero
la source
la source
Réponses:
J'apprécie que vous ne souhaitiez pas utiliser de logiciel tiers, mais en option si cela ne vous dérange pas d'utiliser un exe de ~ 100 Ko, vous pouvez utiliser Nircmd avec les commandes:
ou
Vous devez vous assurer que vous utilisez le nom exact de vos périphériques audio comme indiqué sous
Playback Devices
(cliquez avec le bouton droit sur le contrôle du son dans la barre d'état système). Il peut être plus facile de les renommer sous desProperties
noms plus simples, surtout si les noms s'affrontent de quelque façon que ce soit.La
1
fin de la commande signifie "Périphérique par défaut". L'utilisation2
signifie «Dispositif de communication par défaut».Si vous ne voulez vraiment pas utiliser un outil tiers, voici une différence d'une clé de registre qui semble changer lorsque je change mon périphérique audio par défaut, cela peut vous être utile, mais je ne sais pas exactement quoi ça fait. Ce n'est pas aussi simple qu'un 1 ou un 0 pour indiquer s'il s'agit d'un défaut, semble-t-il.
la source
Depuis Windows 8 (ou peut-être plus tôt?), La configuration audio du PC est stockée dans
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render
. SousRender
il y a des clés nommées GUID, chacune contenantDeviceState
une valeur dword à la racine. Mais comment est-il codé?Voir les constantes DEVICE_STATE_XXX sur MSDN :
Donc, le script powershell / bat pour basculer entre 1 et 2 devrait faire l'affaire.
EDIT: Pour obtenir un nom d'appareil lisible par l'homme, lisez
{b3f8fa53-0004-438e-9003-51a46e139bfc},6
sous la sous-Properties
cléla source