Comment couper automatiquement le son lorsque les écouteurs sont débranchés sous Windows 10

Windows 10 peut conserver des profils audio séparés pour différents appareils audio. Pour chaque appareil audio que vous connectez, vous pouvez définir un niveau de volume différent et lorsque l'appareil est connecté, le volume s'ajustera automatiquement. Bien sûr, personne ne garde un périphérique audio en sourdine tout le temps. Ils augmenteront ou diminueront le volume, mais personne ne coupe habituellement le son d'un appareil audio.

Si vous utilisez une paire d'écouteurs avec votre bureau et que vous devez souvent les déconnecter, vous pouvez utiliser un petit script PowerShell qui coupera automatiquement le son lorsque vous débrancherez vos écouteurs.

C'est quelque chose que font les téléphones portables, c'est-à-dire que lorsque vous débranchez vos écouteurs, la musique s'arrête automatiquement. La logique derrière cela est que vous avez fini d'écouter de la musique ou que vous avez accidentellement retiré votre casque et que vous avez besoin d'un moyen rapide de l'éteindre. Le script a été essentiellement écrit sur ce même principe par  Prateek Singh de GEEKEEFY .

Comment couper automatiquement le son lorsque les écouteurs sont débranchés sous Windows 10

Couper automatiquement le son

Ouvrez le Bloc-notes et collez ce qui suit ;

[cmdletbinding()] Param() #Ajout de définitions pour accéder à l'API audio Add-Type -TypeDefinition @' en utilisant System.Runtime.InteropServices ; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume { // f(), g(), ... sont des emplacements de méthode COM inutilisés. Définissez-les si vous vous en souciez int f(); int g(); entier h(); entier i(); int SetMasterVolumeLevelScalar(float fLevel, System.Guid pguidEventContext); int j(); int GetMasterVolumeLevelScalar(out float pfLevel); entier k(); int l(); int m(); entier n(); int SetMute([MarshalAs(UnmanagedType.Bool)] bool bMute, System.Guid pguidEventContext); int GetMute(out bool pbMute); } [Guid("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IMMDevice { int Activate (ref System.Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IMMDeviceEnumerator { int f(); // Unused int GetDefaultAudioEndpoint(int dataFlow, int role, out IMMDevice endpoint); } [ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] class MMDeviceEnumeratorComObject { } public class Audio { static IAudioEndpointVolume Vol() { var enumerator = new MMDeviceEnumeratorComObject() as IMMDeviceEnumerator ; IMMDevice dev = null ; Marshal.ThrowExceptionForHR(enumerator.GetDefaultAudioEndpoint(/*eRender*/ 0, /*eMultimedia*/ 1, out dev)); IAudioEndpointVolume epv = null ; var epvid = typeof(IAudioEndpointVolume).GUID; Marshal.ThrowExceptionForHR(dev.Activate(ref epvid, /*CLSCTX_ALL*/ 23, 0, out epv)); retour epv; } public static float Volume { get {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(out v)); return v;} set {Marshal.ThrowExceptionForHR(Vol().SetMasterVolumeLevelScalar(value, System.Guid.Empty));} } public static bool Mute { get { bool mute; Marshal.ThrowExceptionForHR(Vol().GetMute(sortie muet)); retour muet; } set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Nettoyer tous les événements de la session en cours car il s'agit d'une boucle infinie, pour prendre un nouveau départ lorsque la boucle commence Get-Event | Remove-Event -ErrorAction SilentlyContinue #Enregistrement de l'événement et attente du déclenchement de l'événement Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs. nouveauté | ` Objet de tri TIME_CREATED -Décroissant | ` Select-Object EventType -ExpandProperty EventType -First 1 #Logique conditionnelle à gérer, Quand couper/rétablir le son de la machine à l'aide de l'API audio If($EventType -eq 3) { [Audio]::Mute = $true Write-Verbose "Muet [$((Get-Date).tostring())]" } elseif($EventType -eq 2 -and [Audio]::Mute -eq $true) { [Audio]::Mute = $false Write-Verbose " Non muet [$((Get-Date).tostring())]" } }

Enregistrez-le avec l'extension de fichier PS1. Assurez-vous de sélectionner « Tous les fichiers » dans la liste déroulante des types de fichiers. Donnez au fichier un nom qui vous dira en un coup d'œil ce qu'il fait. Enregistrez-le dans un endroit où il est peu probable que vous le supprimiez par accident, mais aussi où vous pourrez le trouver facilement si vous en avez besoin.

Exécution du script

PowerShell ne peut pas simplement exécuter automatiquement un script. Il existe une mesure de sécurité intégrée qui l'empêche de le faire, mais il existe un moyen de le contourner. Nous avons un article détaillé sur la façon dont vous pouvez le faire. Suivez les instructions pour exécuter automatiquement le script PowerShell que vous venez de créer et utilisez une tâche planifiée pour démarrer le script chaque fois que vous démarrez votre PC.

Vous pouvez également exécuter manuellement le script lorsque vous démarrez votre système. Je l'utilise depuis moins de 30 minutes et je ne sais pas comment je vivais sans avant.

Laisser un commentaire

Comment réinitialiser les paramètres et les données de rappel Windows sous Windows 11

Comment réinitialiser les paramètres et les données de rappel Windows sous Windows 11

Pour réinitialiser la fonction de rappel de Windows 11, accédez à Paramètres > Confidentialité et sécurité > Rappel et instantanés > Paramètres avancés, puis cliquez sur Réinitialiser le rappel.

Comment formater une clé USB en FAT32 sous Windows 11 et 10 ?

Comment formater une clé USB en FAT32 sous Windows 11 et 10 ?

Pour formater un disque en FAT32 sous Windows 11 (ou 10), ouvrez l'Explorateur de fichiers, cliquez avec le bouton droit sur le disque, choisissez Formater, sélectionnez FAT32 et cliquez sur Démarrer.

Comment réinitialiser la carte réseau Ethernet sous Windows 11

Comment réinitialiser la carte réseau Ethernet sous Windows 11

Découvrez comment réinitialiser la carte réseau Ethernet sous Windows 11 pour résoudre rapidement les problèmes de réseau et rétablir la connectivité lors de l'utilisation d'une connexion filaire.

Téléchargement de Windows 11 24H2 via loutil de création de supports

Téléchargement de Windows 11 24H2 via loutil de création de supports

Pour télécharger Windows 11 24H2 à l'aide de l'outil de création de supports, téléchargez l'outil, sélectionnez l'option clé USB ou fichier ISO, puis continuez.

Comment créer une sauvegarde complète sous Windows 10

Comment créer une sauvegarde complète sous Windows 10

Pour créer une sauvegarde complète d'image système sous Windows 10, ouvrez Sauvegarde d'image système, sélectionnez les lecteurs, choisissez un chemin USB ou réseau, puis cliquez sur Démarrer la sauvegarde.

La mise à jour KB5074176 (build 28020.1546) pour Windows 11 26H1 corrige des problèmes dapplications gênants (Canary).

La mise à jour KB5074176 (build 28020.1546) pour Windows 11 26H1 corrige des problèmes dapplications gênants (Canary).

La mise à jour KB5074176 (build 28020.1546) pour Windows 11 est déployée sur le canal Canary avec seulement des correctifs mineurs, suscitant la frustration en raison des notes de version succinctes et de l'absence de nouvelles fonctionnalités.

Comment utiliser FlyOOBE pour alléger Windows 11

Comment utiliser FlyOOBE pour alléger Windows 11

Débloquez Windows 11 avec FlyOOBE pour désinstaller les applications inutiles et obtenir une installation plus rapide, plus propre et plus privée.

La date de sortie de Windows 11 26H1 est prévue pour avril 2026.

La date de sortie de Windows 11 26H1 est prévue pour avril 2026.

La mise à jour Windows 11 26H1 devrait être lancée en avril 2026 avec les PC équipés de processeurs Snapdragon X2. Cette mise à jour prend en charge le nouveau matériel ARM64 et ne concerne pas les appareils existants.

La mise à jour KB5072033 (build 26200.7462) pour Windows 11 sera disponible en tant que mise à jour de décembre 2025.

La mise à jour KB5072033 (build 26200.7462) pour Windows 11 sera disponible en tant que mise à jour de décembre 2025.

La mise à jour KB5072033 (builds 26100.7462 et 26200.7462) pour Windows 11 apporte de nouvelles fonctionnalités dans le cadre de la mise à jour de décembre 2025, et la version 23H2 reçoit la mise à jour KB5071417 avec des correctifs.

Comment activer le mode Xbox sur PC sous Windows 11

Comment activer le mode Xbox sur PC sous Windows 11

Activez le mode Xbox sur Windows 11 pour profiter d'une expérience de jeu similaire à celle d'une console, améliorer les performances et libérer des ressources système.