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.

Leave a Comment

Cara Memeriksa Pemacu Keras Anda Untuk Ralat Dan Membetulkannya

Cara Memeriksa Pemacu Keras Anda Untuk Ralat Dan Membetulkannya

Jika anda mengalami ralat cakera keras seperti ralat Baca / Tulis dan bunyi bising, sudah tiba masanya untuk memeriksa cakera keras anda kerana ralat ini mungkin memberi kesan

Penukar Fail RAW Kamera Canon PowerShot

Penukar Fail RAW Kamera Canon PowerShot

Semua kamera Canon PowerShot mempunyai keupayaan untuk mengambil gambar dalam format fail Canon RAW, yang sambungannya ialah .CRW. Secara lalai Windows 7 tidak menunjukkan

Muat turun Manga Percuma

Muat turun Manga Percuma

MangaDownloader ialah muat turun manga mudah alih percuma yang boleh merebut semua manga dalam talian yang tersedia dari tapak yang berbeza. Kami bukan peminat tegar manga, di sini

Ubah hala Kawalan Putaran Roda Tetikus Ke Penunjuk Dengan Roda Di Sini

Ubah hala Kawalan Putaran Roda Tetikus Ke Penunjuk Dengan Roda Di Sini

Alami kawalan roda tetikus tanpa kerumitan dengan Wheel Here. Ubah hala putaran roda tetikus secara automatik ke lokasi penunjuk semasa anda.

PViewer: Pemapar Pantas & Minimalis untuk Imej, Manga & Komik

PViewer: Pemapar Pantas & Minimalis untuk Imej, Manga & Komik

Alami kesederhanaan pViewer, apl sumber terbuka yang direka untuk melihat foto dan membaca komik tanpa gangguan.

RegFileExport Boleh Mengeksport Kunci Dan Nilai Daripada Fail Pendaftaran yang Korup

RegFileExport Boleh Mengeksport Kunci Dan Nilai Daripada Fail Pendaftaran yang Korup

RegFileExport ialah aplikasi baris arahan yang dibangunkan oleh Nirsoft untuk mengeksport data daripada fail pendaftaran luar talian yang terletak pada pemacu cakera lain. Ia juga

Cara Menggabungkan (Campur), Menggabungkan Dan Membahagi Fail PDF Dengan PDFSam

Cara Menggabungkan (Campur), Menggabungkan Dan Membahagi Fail PDF Dengan PDFSam

PDFSam ialah alat sumber terbuka percuma yang membolehkan anda menggabungkan(campuran), cantumkan dan pecahkan fail PDF dengan cepat. Terdapat beratus-ratus perisian dan perkhidmatan

VSPE – Muat turun Emulator Pelabuhan Bersiri Maya Percuma

VSPE – Muat turun Emulator Pelabuhan Bersiri Maya Percuma

Anda tahu apakah emulator pemacu maya, tetapi pernahkah anda mendengar tentang emulator port bersiri maya? Jika anda seorang jurutera perisian atau pembangun

Tidak Dapat Cari Dokumen & Tetapan Windows 7?

Tidak Dapat Cari Dokumen & Tetapan Windows 7?

Saya telah membaca pelbagai aduan di hampir setiap forum mengenai Dokumen dan Tetapan Windows 7. Kebanyakan aduan adalah bahawa mereka tidak boleh mengakses ini

Tweaker Windows 7 Dengan XdN Tweaker

Tweaker Windows 7 Dengan XdN Tweaker

Kami sebelum ini telah menyemak beberapa utiliti tweak seperti TweakNow WinSecret dan Enhancemyse7en. Hari ini saya menemui satu lagi tweak yang hebat