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.

Leave a Comment

Windows 10 bureaubladpictogrammen ontbreken: hier leest u hoe u bureaubladpictogrammen kunt oplossen die niet worden weergegeven

Windows 10 bureaubladpictogrammen ontbreken: hier leest u hoe u bureaubladpictogrammen kunt oplossen die niet worden weergegeven

Leer hoe u ontbrekende bureaubladpictogrammen in Windows 10 kunt herstellen en weer kunt laten verschijnen. Volg onze stappen voor een effectieve oplossing.

Fout 0x800705b4 oplossen (Windows Update) - De ultieme gids

Fout 0x800705b4 oplossen (Windows Update) - De ultieme gids

Microsoft raadt gebruikers ten zeerste aan om regelmatig systeemupdates te installeren, zodat ze de veiligheid van hun apparaten kunnen handhaven en verschillende problemen kunnen oplossen.

Microfoon inschakelen op Windows 10 [OPGELOST]

Microfoon inschakelen op Windows 10 [OPGELOST]

Ontdek hoe je eenvoudig je microfoon kunt inschakelen op Windows 10 en mogelijke problemen kunt oplossen.

Hoe het scherm op een laptop uit te schakelen

Hoe het scherm op een laptop uit te schakelen

Leer hoe u het scherm van uw laptop kunt uitschakelen. Ontdek handige apps en methoden om energie te besparen en de levensduur van uw laptop te verlengen.

Hoe Steam te downloaden en games te installeren

Hoe Steam te downloaden en games te installeren

Meest populaire gametitels worden uitgebracht op Steam. Dit platform biedt een breed scala aan games en gebruiksvriendelijke functies voor gamers.

Compatibiliteitsmodus in-/uitschakelen voor apps op Windows 10

Compatibiliteitsmodus in-/uitschakelen voor apps op Windows 10

Leer hoe je de compatibiliteitsmodus in Windows 10 kunt inschakelen of uitschakelen voor verschillende applicaties, inclusief handige tips en stappen.

De time-out voor systeemvergrendeling van Windows 10 wijzigen

De time-out voor systeemvergrendeling van Windows 10 wijzigen

Leer hoe je de time-outinstelling voor systeemvergrendeling in Windows 10 kunt wijzigen via de register-editor voor optimale beveiliging en efficiëntie.

Telnet inschakelen en gebruiken op Windows 10

Telnet inschakelen en gebruiken op Windows 10

Telnet is een protocol voor externe toegang dat vaak wordt gebruikt op Windows-systemen. Leer hoe het in te schakelen en te gebruiken via verschillende methoden op Windows 10.

Toegang krijgen tot de herstel- en opstartpartitie in Windows 10

Toegang krijgen tot de herstel- en opstartpartitie in Windows 10

De harde schijf of SSD bevat verborgen partities voor herstel en opstart. Leer hoe je toegang krijgt tot deze belangrijke partities.

Toegang krijgen tot MsConfig in Windows 10 - Complete gids om MsConfig te openen

Toegang krijgen tot MsConfig in Windows 10 - Complete gids om MsConfig te openen

Windows 10 biedt uitgebreide instellingen voor gebruikers. Deze gids legt uit hoe je toegang krijgt tot MsConfig, en hoe je deze gebruikt om systeeminstellingen effectief te beheren.