Windows 10 može zadržati zasebne audio profile za različite audio uređaje. Za svaki audio uređaj koji spajate možete postaviti različitu glasnoću, a kad je uređaj povezan, glasnoća će se automatski prilagoditi. Naravno, nitko ne drži zvučni uređaj isključen cijelo vrijeme. Oni će povećati ili smanjiti glasnoću, ali nitko obično ne isključuje audio uređaj.
Ako na radnoj površini koristite par slušalica, a često ih morate prekinuti, možete koristiti malu skriptu PowerShell koja će automatski isključiti zvuk kad isključite slušalice.
To je nešto što mobilni telefoni rade, tj. Kada iskopčate slušalice, glazba se automatski zaustavlja. Logika koja stoji iza toga je da ste slušali glazbu ili ste slučajno uklonili slušalice i treba vam brz način da je isključite. Scenarij je u osnovi na tom istom principu napisao autor Prateek Singh iz GEEKEEFY-a.
Otvorite Notepad i zalijepite sljedeće;
[Cmdletbinding ()] Param () #Dodavanje definicija za pristup Audio API-ju. Add-Type -TypeDefinition @ ' pomoću sustava. Runtime. InteropServices; [Vodič ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] sučelje IAudioEndpointVolume { // f (), g (),... su neiskorišteni uratci COM metoda. Definirajte ih ako vam je stalo. int f (); int g (); int h (); int i (); int SetMasterVolumeLevelScalar (float fLevel, System. Vodič pguidEventContext); int j (); int GetMasterVolumeLevelScalar (out float pfLevel); int k (); int l (); int m (); int n (); int SetMute ([MarshalAs (UnmanagedType) Bool)] bool bMute, Sustav. Vodič pguidEventContext); int GetMute (van bool pbMute); } [Vodič ("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] sučelje IMMDevice { int Aktiviraj (ref sustav). ID vodiča, int clsCtx, int activationParams, out IAudioEndpointVolume aev); } [Vodič ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType. InterfaceIsIUnknown)] sučelje IMMDeviceEnumerator { int f (); // Neiskorišteno. int GetDefaultAudioEndpoint (int dataFlow, int uloga, krajnja točka IMMDevice); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] klasa MMDeviceEnumeratorComObject {} zvuk javne klase { statički IAudioEndpointVolume Vol () { var enumerator = novi MMDeviceEnumeratorComObject () kao IMMDeviceEnumerator; IMMDevice dev = null; Maršal. ThrowExceptionForHR (popisivač. GetDefaultAudioEndpoint (/ * eRender * / 0, / * eMultimedia * / 1, out dev)); IAudioEndpointVolume epv = null; var epvid = typeof (IAudioEndpointVolume) .GUID; Maršal. ThrowExceptionForHR (dev. Aktiviraj (ref. Epvid, / * CLSCTX_ALL * / 23, 0, out epv)); uzvrati epv; } Javni statički plovak Volumen { dobiti {float v = -1; Maršal. ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (out v)); return v;} postavljen {Marshal. ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (vrijednost, Sustav). Vodič. Prazan));} } javni statički bool Mute { dobiti {bool mute; Maršal. ThrowExceptionForHR (Vol (). GetMute (van mute)); uzvratiti nijem; } postavljen {Marshal. ThrowExceptionForHR (Vol (). SetMute (vrijednost, Sustav). Vodič. Prazan)); } } } '@ -Verbose Dok ($ true) { #Očistite sve događaje u trenutnoj sesiji od njene beskonačne petlje da biste započeli novi početak. Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registriranje događaja i čekanje da se događaj pokrene. Registrirajte se-WmiEvent -Class Win32_DeviceChangeEvent. Pričekajte događaj -OutVariabilan događaj | Izvanredan $ EventType = $ Event.sourceargs.newevent | ` Poredaj-objekt TIME_CREATED -Descending | ` Select-Object EventType -ExpandProperty EventType -First 1 #Uvjetna logika za rukovanje, Kada za isključivanje / isključivanje zvuka uređaja pomoću Audio API-ja. Ako je ($ EventType -eq 3) { [Audio]:: Mute = $ true. Doslovno pisanje "Zanemareno [$ ((datum-datum) .tostring ())]" } elseif ($ EventType -eq 2 -i [Audio]:: Isključi zvuk -eq $ true) { [Audio]:: Isključi zvuk = $ false. Pisanje-verbose "UnMuted [$ ((datum-datum) .tostring ())]" } }
Spremite ga s ekstenzijom datoteke PS1. Obavezno odaberite "Sve datoteke" na padajućoj vrsti datoteke. Dajte datoteci ime koje će vam na prvi pogled reći što radi. Spremite ga na nekom mjestu koje ga vjerojatno nećete izbrisati slučajno, ali također i tamo gdje ga možete lako potražiti.
PowerShell ne može samo pokrenuti skriptu. Postoji ugrađena sigurnosna mjera koja je sprječava da to učini, ali postoji način da se to zaobiđe. Imamo detaljan članak o tome kako možete to učiniti. Slijedite upute do automatski pokrenite PowerShell skriptu koju ste upravo stvorili i koristite planirani zadatak za pokretanje skripte pri svakom pokretanju računala.
Alternativno, skriptu možete ručno pokrenuti prilikom podizanja sustava. Koristim ga manje od 30 minuta i ne znam kako sam prije živio bez njega.
Slike, pozadine, panorame obiluju i mogu se naći bilo gdje na webu....
Mail Media Center je dodatak koji omogućuje pregled vaših e-poruka ...
Neki trebaju uspostavljanje VPN veze kako bi izvršili neke zadatke ...