Cara Membisukan Bunyi Secara Automatik Apabila Fon Kepala Dicabut Palam Pada Windows 10

Windows 10 boleh menyimpan profil audio yang berasingan untuk peranti audio yang berbeza. Untuk setiap peranti audio yang anda sambungkan, anda boleh menetapkan tahap kelantangan yang berbeza dan apabila peranti disambungkan, kelantangan akan melaraskan secara automatik. Sudah tentu, tiada siapa yang memastikan peranti audio diredam sepanjang masa. Mereka akan menambah atau mengurangkan kelantangan tetapi tiada siapa yang lazimnya membisukan peranti audio.

Jika anda menggunakan sepasang fon kepala dengan desktop anda, dan selalunya terpaksa memutuskan sambungannya, anda boleh menggunakan sedikit skrip PowerShell yang akan meredam bunyi secara automatik apabila anda mencabut fon kepala anda.

Ini adalah sesuatu yang dilakukan oleh telefon mudah alih iaitu, apabila anda mencabut fon kepala anda, muzik berhenti secara automatik. Logik di sebalik ini ialah anda telah selesai mendengar muzik atau anda telah mengeluarkan fon kepala anda secara tidak sengaja dan anda memerlukan cara cepat untuk mematikannya. Skrip itu pada asasnya ditulis berdasarkan prinsip yang sama oleh  Prateek Singh dari GEEKEEFY .

Cara Membisukan Bunyi Secara Automatik Apabila Fon Kepala Dicabut Palam Pada Windows 10

Redam Bunyi secara automatik

Buka Notepad dan tampal yang berikut;

[cmdletbinding()] Param() #Menambah definisi untuk mengakses Audio API Add-Type -TypeDefinition @' menggunakan System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] antara muka IAudioEndpointVolume { // f(), g(), ... ialah slot kaedah COM yang tidak digunakan. Tentukan ini jika anda mengambil berat int f(); int g(); int h(); int i(); int SetMasterVolumeLevelScalar(float fLevel, System.Guid pguidEventContext); int j(); int GetMasterVolumeLevelScalar(out float pfLevel); int k(); int l(); int m(); int n(); int SetMute([MarshalAs(UnmanagedType.Bool)] bool bMute, System.Guid pguidEventContext); int GetMute(keluar bool pbMute); } [Guid("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] antara muka IMMDevice { int Activate(ref System.Guid id, int clsCtx, int activationParams, keluar IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] antara muka IMMDeviceEnumerator { int f(); // Unused int GetDefaultAudioEndpoint(int dataFlow, int role, out IMMMevice endpoint); } [ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] kelas MMDeviceEnumeratorComObject { } kelas awam Audio { statik IAudioEndpointVolume Vol() { var enumerator = MMDeviceEnumeratorEnumeratorComObject baharu; IMMDevice dev = batal; 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)); pulangan epv; } apungan statik awam Isipadu { dapatkan {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(out mute)); kembali bisu; } set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Bersihkan semua acara dalam sesi semasa sejak ia dalam gelung tak terhingga, untuk membuat permulaan baharu apabila gelung bermula Dapatkan-Acara | Remove-Event -ErrorAction Secara SenyapTeruskan #Mendaftar Acara dan Menunggu acara dicetuskan Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs. acara baharu | ` Isih-Objek TIME_CREATED -Menurun | ` Select-Object EventType -ExpandProperty EventType -Pertama 1 #Logik bersyarat untuk dikendalikan, Bila untuk Membisukan/Nyahredam mesin menggunakan Audio API If($EventType -eq 3) { [Audio]::Mute = $true Write-Verbose "Diredamkan [$((Get-Date).tostring())]" } elseif($EventType -eq 2 -dan [Audio]::Mute -eq $true) { [Audio]::Mute = $false Write-Verbose " Nyahredam [$((Get-Date).tostring())]" } }

Simpannya dengan sambungan fail PS1. Pastikan anda memilih 'Semua Fail' daripada menu lungsur jenis fail. Beri nama fail yang akan memberitahu anda sepintas lalu apa yang dilakukannya. Simpannya di tempat yang anda tidak mungkin memadamkannya secara tidak sengaja tetapi juga di mana anda boleh menemuinya dengan mudah jika perlu.

Menjalankan Skrip

PowerShell tidak boleh autorun skrip sahaja. Terdapat langkah keselamatan terbina dalam yang menghalangnya daripada berbuat demikian tetapi ada cara untuk mengatasinya. Kami mempunyai artikel terperinci tentang cara anda boleh melakukannya. Ikut arahan untuk menjalankan skrip PowerShell secara automatik yang baru anda buat dan gunakan tugas yang dijadualkan untuk memulakan skrip setiap kali anda but PC anda.

Sebagai alternatif, anda boleh menjalankan skrip secara manual apabila anda boot sistem anda. Saya telah menggunakannya kurang daripada 30 minit dan saya tidak tahu bagaimana saya hidup tanpanya sebelum ini.

Tinggalkan Komen

Pasang bersih Windows 11 25H2 pada perkakasan yang tidak disokong

Pasang bersih Windows 11 25H2 pada perkakasan yang tidak disokong

Anda boleh memasang Windows 11 25H2 secara bersih pada perkakasan yang tidak disokong, menggunakan media bootable USB tersuai dengan Rufus dan keluaran OS terkini.

Patutkah saya menaik taraf kepada Windows 11 atau mendaftarkan Windows 10 dalam program ESU? Berikut ialah cara untuk membuat keputusan

Patutkah saya menaik taraf kepada Windows 11 atau mendaftarkan Windows 10 dalam program ESU? Berikut ialah cara untuk membuat keputusan

Sokongan Windows 10 tamat pada 14 Okt 2025. Nak naik taraf kepada Windows 11 atau gunakan program ESU Microsoft? Berikut ialah cara untuk menentukan yang terbaik untuk PC anda.

Cara memaksa naik taraf ke Windows 11 25H2 menggunakan Pembantu Pemasangan

Cara memaksa naik taraf ke Windows 11 25H2 menggunakan Pembantu Pemasangan

Untuk memaksa Windows 11 25H2 pada PC anda apabila Kemas Kini Windows tidak berfungsi, anda boleh memuat turun Pembantu Pemasangan dan menggunakan langkah-langkah ini.

Cara membenarkan aplikasi melalui firewall pada Windows 11

Cara membenarkan aplikasi melalui firewall pada Windows 11

Untuk membenarkan aplikasi melalui tembok api Windows 11, buka Windows Security, Firewall dan gunakan pilihan Benarkan aplikasi melalui tembok api. Begini Caranya.

Cara memasang aplikasi binaan alat winapp dengan lebih pantas pada Windows 11

Cara memasang aplikasi binaan alat winapp dengan lebih pantas pada Windows 11

Ketahui cara memasang dan menggunakan winapp CLI Windows 11 untuk membina, menguji dan membungkus aplikasi dengan lebih pantas, dengan sokongan untuk Python, Electron, .NET dan banyak lagi.

Kemas kini kecemasan KB5078129 membetulkan pepijat Januari 2026 pada Windows 10 ESU

Kemas kini kecemasan KB5078129 membetulkan pepijat Januari 2026 pada Windows 10 ESU

KB5078129 Kemas kini luar jalur dikeluarkan untuk membetulkan ranap aplikasi dan isu Outlook pada Windows 10 22H2 dan 21H2 yang disebabkan oleh kemas kini Januari.

Microsoft mencipta program pratonton untuk aplikasi pada Windows 10

Microsoft mencipta program pratonton untuk aplikasi pada Windows 10

Sesiapa sahaja akan dapat menguji ciri baharu yang menarik pada aplikasi Windows 10 dengan lebih mudah tanpa perlu memasang binaan Skip Ahead melalui program Pratonton Apl Windows yang baharu. Inilah ciri-cirinya dan cara untuk menyertainya. Baca lebih lanjut...

Kerja asas Windows 11 27H2 bermula apabila Microsoft membahagikan Canary Channel kepada dua laluan

Kerja asas Windows 11 27H2 bermula apabila Microsoft membahagikan Canary Channel kepada dua laluan

Microsoft membahagikan Canary Channel dengan binaan baharu sebanyak 29500, menandakan kerja platform awal untuk Windows 11 27H2 dan naik taraf penuh pada masa hadapan.

Binaan 29531.1000 memisahkan Canary Channel Windows 11, mewujudkan lebih banyak kekeliruan untuk pengguna

Binaan 29531.1000 memisahkan Canary Channel Windows 11, mewujudkan lebih banyak kekeliruan untuk pengguna

Binaan 29531.1000 untuk Windows 11 tiba di Canary Channel melalui tetapan Upsteas Pilihan apabila saluran berpecah kepada dua.

Notepad mendapat sokongan imej pada Windows 11

Notepad mendapat sokongan imej pada Windows 11

Microsoft menambah sokongan imej pada Notepad, menjadikannya alat nota yang lebih kaya, tetapi sesetengah pengguna bimbang ia mungkin akan menjejaskan kesederhanaan.