Hoe automatisch geluid te dempen wanneer de hoofdtelefoon is losgekoppeld op Windows 10

Windows 10 kan afzonderlijke audioprofielen bewaren voor verschillende audioapparaten. Voor elk audioapparaat dat je aansluit, kun je een ander volumeniveau instellen en wanneer het apparaat is aangesloten, wordt het volume automatisch aangepast. Natuurlijk houdt niemand een audioapparaat altijd gedempt. Ze zullen het volume verhogen of verlagen, maar niemand dempt gewoonlijk een audioapparaat.

Als u een hoofdtelefoon gebruikt met uw desktop en deze vaak moet loskoppelen, kunt u een klein PowerShell-script gebruiken dat automatisch het geluid dempt wanneer u uw hoofdtelefoon loskoppelt.

Dit is iets dat mobiele telefoons doen, dat wil zeggen, wanneer u uw hoofdtelefoon loskoppelt, stopt de muziek automatisch. De logica hierachter is dat je ofwel klaar bent met het luisteren naar muziek of dat je per ongeluk je koptelefoon hebt verwijderd en een snelle manier nodig hebt om hem uit te zetten. Het script is in feite op hetzelfde principe geschreven door  Prateek Singh van GEEKEEFY .

Hoe automatisch geluid te dempen wanneer de hoofdtelefoon is losgekoppeld op Windows 10

Geluid automatisch dempen

Open Kladblok en plak het volgende;

[cmdletbinding()] Param() #Definities toevoegen voor toegang tot de Audio API Add-Type -TypeDefinition @' met behulp van System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume { // f(), g(), ... zijn ongebruikte COM-methode-slots. Definieer deze als u int f(); intg(); int h(); int i(); int SetMasterVolumeLevelScalar (float fLevel, System.Guid pguidEventContext); intj(); int GetMasterVolumeLevelScalar (uit float pfLevel); intk(); intl(); int m(); int 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 activatieParams, uit IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IMMDeviceEnumerator {int f(); // Ongebruikte int GetDefaultAudioEndpoint (int dataFlow, int rol, uit IMMDevice-eindpunt); } [ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] klasse MMDeviceEnumeratorComObject {} openbare klasse Audio { statisch IAudioEndpointVolume Vol() { var enumerator = nieuw MMDeviceEnumeratorComObviceEnumerator; 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)); terug epv; } public static float Volume { get {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(uit v)); return v;} set {Marshal.ThrowExceptionForHR(Vol().SetMasterVolumeLevelScalar(value, System.Guid.Empty));} } public static bool Mute {get { bool mute; Marshal.ThrowExceptionForHR(Vol().GetMute(uit mute)); terug dempen; } set {Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Reinig alle gebeurtenissen in de huidige sessie aangezien deze zich in een oneindige lus bevindt, om een ​​nieuwe start te maken wanneer de lus begint Get-Event | Remove-Event -ErrorAction SilentlyContinue #De gebeurtenis registreren en wachten tot de gebeurtenis wordt geactiveerd Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable gebeurtenis |Out-Null $EventType = $Event.sourceargs. nieuw evenement | ` Sort-Object TIME_CREATED -Aflopend | ` Select-Object EventType -ExpandProperty EventType -Eerste 1 #Voorwaardelijke logica om te verwerken, Wanneer moet de machine worden gedempt/gedempt met behulp van Audio API If($EventType -eq 3) { [Audio]::Mute = $true Write-Verbose "Gedempt [$((Get-Date).tostring())]" } elseif($EventType -eq 2 -and [Audio]::Mute -eq $true) { [Audio]::Mute = $false Write-Verbose " Unmuted [$((Get-Date).tostring())]" } }

Sla het op met de PS1-bestandsextensie. Zorg ervoor dat u 'Alle bestanden' selecteert in de vervolgkeuzelijst voor het bestandstype. Geef het bestand een naam die u in één oogopslag laat zien wat het doet. Bewaar het ergens waar je het waarschijnlijk niet per ongeluk verwijdert, maar ook waar je het gemakkelijk kunt vinden als dat nodig is.

Het script uitvoeren

Power shell kan niet zomaar een script automatisch uitvoeren. Er is een ingebouwde beveiligingsmaatregel die dit verhindert, maar er is een manier om dit te omzeilen. We hebben een gedetailleerd artikel over hoe u dat kunt doen. Volg de instructies om het PowerShell-script dat u zojuist hebt gemaakt automatisch uit te voeren en gebruik een geplande taak om het script elke keer dat u uw pc opstart te starten.

Als alternatief kunt u het script handmatig uitvoeren wanneer u uw systeem opstart. Ik gebruik het nog geen 30 minuten en ik weet niet hoe ik eerder zonder moest.

Laat een reactie achter

Maak een volledige back-up van een Copilot+ pc op Windows 11.

Maak een volledige back-up van een Copilot+ pc op Windows 11.

Het maken van een volledige back-up van een Copilot+ pc is hetzelfde proces als voor elke andere Windows 11 pc: gebruik gewoon het Configuratiescherm en vervolgens de optie 'Systeemkopie back-up'.

Xbox Full Screen Experience komt naar alle pcs met Windows 11.

Xbox Full Screen Experience komt naar alle pcs met Windows 11.

De Xbox Full Screen Experience zal beschikbaar zijn op alle Windows 11-pc's, als reactie van Microsoft op de nieuwe Steam Machine van Valve.

Build 26220.7271 (KB5070307) voor Windows 11 25H2 voegt Xbox FSE, Point-in-Time Restore en een vernieuwde Bestandsverkenner toe (Ontwikkelaarsversie, Betaversie)

Build 26220.7271 (KB5070307) voor Windows 11 25H2 voegt Xbox FSE, Point-in-Time Restore en een vernieuwde Bestandsverkenner toe (Ontwikkelaarsversie, Betaversie)

KB5070307 (build 26220.7271) voor Windows 11 voegt Xbox FSE toe voor alle pc's, Point-in-Time Restore, een herontwerp van het contextmenu van Verkenner en meer.

Hoe installeer je Windows 11 Insider Preview-builds?

Hoe installeer je Windows 11 Insider Preview-builds?

Om Windows 11 Insider Preview-builds te installeren, moet u uw pc eerst aanmelden voor het programma en vervolgens de nieuwste build installeren via de Windows Update-instellingen.

De installatie van Windows 11 verloopt sneller doordat Microsoft de verplichte update-stap heeft laten vervallen.

De installatie van Windows 11 verloopt sneller doordat Microsoft de verplichte update-stap heeft laten vervallen.

Met Windows 11 kun je updates tijdens de installatie overslaan, waardoor de wachttijden worden verkort en je sneller dan ooit op het bureaublad terechtkomt.

Hoe schakel je de nieuwe experimentele en bètakanaalinstellingen van het Insider-programma in op Windows 11?

Hoe schakel je de nieuwe experimentele en bètakanaalinstellingen van het Insider-programma in op Windows 11?

Schakel de nieuwe instellingen voor Experimenteel, Bètakanaal, Functieplatformen en Functievlaggen in voor het Windows 11 Insider-programma. Zo doe je dat.

De Xbox-modus wordt uitgerold voor Windows 11-pcs met een vereenvoudigde merknaam – voorheen Full Screen Experience (FSE).

De Xbox-modus wordt uitgerold voor Windows 11-pcs met een vereenvoudigde merknaam – voorheen Full Screen Experience (FSE).

Microsoft introduceert de Xbox-modus voor pc, waardoor games sneller en gemakkelijker met een controller te spelen zijn en de oude Full Screen Experience een nieuwe naam krijgt.

Windows 11 brengt eindelijk de mogelijkheid terug om de taakbalk te verplaatsen naar boven, links en rechts.

Windows 11 brengt eindelijk de mogelijkheid terug om de taakbalk te verplaatsen naar boven, links en rechts.

Windows 11 brengt de mogelijkheid om de taakbalk te verplaatsen terug, met de mogelijkheid om hem bovenaan, links of rechts vast te zetten. Hier is een eerste blik op deze langverwachte functie.

Hoe de nieuwe aanpasbare taakbalk werkt in Windows 11

Hoe de nieuwe aanpasbare taakbalk werkt in Windows 11

De updates voor de taakbalk van Windows 11 brengen langverwachte functies zoals het verplaatsen en vergroten/verkleinen ervan. Hieronder een overzicht van wat er verandert en wat er nog ontbreekt.

Hoe schakel ik het vergrendelscherm uit in Windows 11?

Hoe schakel ik het vergrendelscherm uit in Windows 11?

Om het vergrendelscherm van Windows 11 uit te schakelen, opent u GPedit als beheerder. Ga naar Sjablonen > Configuratiescherm > Personalisatie en schakel 'Vergrendelscherm niet weergeven' in.