Cara Mematikan Suara Secara Otomatis Saat Headphone Dicabut Pada Windows 10

Cara Mematikan Suara Secara Otomatis Saat Headphone Dicabut Pada Windows 10

Windows 10 dapat menyimpan profil audio terpisah untuk perangkat audio yang berbeda. Untuk setiap perangkat audio yang Anda sambungkan, Anda dapat mengatur tingkat volume yang berbeda dan ketika perangkat terhubung, volume akan menyesuaikan secara otomatis. Tentu saja, tidak ada yang membuat perangkat audio dimatikan sepanjang waktu. Mereka akan menambah atau mengurangi volume tetapi tidak ada yang biasa membisukan perangkat audio.

Jika Anda menggunakan sepasang headphone dengan desktop Anda, dan sering kali harus memutuskan sambungannya, Anda dapat menggunakan skrip PowerShell kecil yang akan secara otomatis menonaktifkan suara saat Anda mencabut headphone Anda.

Ini adalah sesuatu yang ponsel lakukan yaitu, ketika Anda mencabut headphone Anda, musik berhenti secara otomatis. Logika di balik ini adalah Anda sudah selesai mendengarkan musik atau Anda tidak sengaja melepas headphone dan Anda perlu cara cepat untuk mematikannya. Naskah pada dasarnya ditulis dengan prinsip yang sama oleh  Prateek Singh dari GEEKEEFY .

Cara Mematikan Suara Secara Otomatis Saat Headphone Dicabut Pada Windows 10

Matikan Suara Secara Otomatis

Buka Notepad dan rekatkan yang berikut ini;

[cmdletbinding()] Param() #Menambahkan definisi untuk mengakses Audio API Add-Type -TypeDefinition @' menggunakan System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] antarmuka IAudioEndpointVolume { // f(), g(), ... adalah slot metode COM yang tidak digunakan. Tentukan ini jika Anda peduli int f(); int g(); int h(); int saya(); int SetMasterVolumeLevelScalar(float fLevel, System.Guid pguidEventContext); int j(); int GetMasterVolumeLevelScalar(keluar 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)] antarmuka IMMDevice { int Activate(ref System.Guid id, int clsCtx, int activationParams, keluar IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] antarmuka IMMDeviceEnumerator { int f(); // int GetDefaultAudioEndpoint yang tidak digunakan(int dataFlow, int role, outpoint IMMDevice); } [ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] class MMDeviceEnumeratorComObject { } public class Audio { static IAudioEndpointVolume Vol() { var enumerator = new MMDeviceEnumeratorComObject() sebagai IMMDeviceEnumerator; IMMDevice dev = nol; 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)); kembali epv; } Volume float statis publik { dapatkan {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(keluar 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(nilai, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Bersihkan semua event di sesi saat ini karena berada dalam infinite loop, untuk membuat awal baru saat loop dimulai Get-Event | Remove-Event -ErrorAction Diam-diamLanjutkan #Mendaftarkan Acara dan Menunggu acara dipicu Daftar-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs. acara baru | ` Urutkan-Objek TIME_CREATED -Menurun | ` Select-Object EventType -ExpandProperty EventType -Pertama 1 #Logika kondisional untuk ditangani, Kapan Mematikan/membisukan suara mesin menggunakan Audio API If($EventType -eq 3) { [Audio]::Mute = $true Write-Verbose "Muted [$((Dapatkan-Tanggal).tostring())]" } elseif($EventType -eq 2 -dan [Audio]::Mute -eq $true) { [Audio]::Mute = $false Write-Verbose " Disuarakan [$((Dapatkan-Tanggal).tostring())]" } }

Simpan dengan ekstensi file PS1. Pastikan Anda memilih 'Semua File' dari dropdown jenis file. Beri nama file yang akan memberi tahu Anda apa fungsinya. Simpan di suatu tempat yang kemungkinan tidak akan Anda hapus secara tidak sengaja, tetapi juga di tempat yang dapat Anda temukan dengan mudah jika perlu.

Menjalankan Script

PowerShell tidak bisa begitu saja menjalankan skrip secara otomatis. Ada ukuran keamanan bawaan yang mencegahnya melakukannya tetapi ada jalan keluarnya. Kami memiliki artikel terperinci tentang bagaimana Anda dapat melakukan hal itu. Ikuti instruksi untuk menjalankan skrip PowerShell yang baru saja Anda buat secara otomatis, dan gunakan tugas terjadwal untuk memulai skrip setiap kali Anda mem-boot PC Anda.

Atau, Anda dapat menjalankan skrip secara manual saat Anda mem-boot sistem Anda. Saya telah menggunakannya selama kurang dari 30 menit dan saya tidak tahu bagaimana saya hidup tanpanya sebelumnya.


Cara menggunakan Open With untuk banyak file di Windows 10

Cara menggunakan Open With untuk banyak file di Windows 10

Menu konteks file di Windows 10 memiliki opsi bermanfaat yang disebut Open With. Opsi ini memungkinkan pengguna untuk memilih aplikasi apa pun untuk membuka file. Jika

Cara mencopot pemasangan Minecraft Dungeons dengan aman di Windows 10

Cara mencopot pemasangan Minecraft Dungeons dengan aman di Windows 10

Minecraft memiliki berbagai versi gim yang menawarkan struktur berbeda untuk dimainkan dan alur cerita yang agak bervariasi. Salah satu versi tersebut adalah Minecraft

Cara mendapatkan nomor baris di Notepad di Windows 10

Cara mendapatkan nomor baris di Notepad di Windows 10

Editor teks adalah aplikasi yang bisa sederhana, atau bisa rumit. Faktanya, beberapa editor teks menambahkan begitu banyak fitur sehingga mereka berhenti menjadi editor teks dan

Perangkat Lunak Office Gratis Terbaik (Edisi 2021): Alternatif untuk Word, PowerPoint, dan Excel

Perangkat Lunak Office Gratis Terbaik (Edisi 2021): Alternatif untuk Word, PowerPoint, dan Excel

Jika Anda membutuhkan perangkat lunak perkantoran yang layak tetapi tidak ingin membayar mahal untuk produk bermerek, Anda mungkin mencari alternatif gratis yang layak. Di

Cara menonaktifkan fitur Safely remove hardware di Windows 10

Cara menonaktifkan fitur Safely remove hardware di Windows 10

Cara menonaktifkan fitur Safely remove hardware di Windows 10

Cara menambahkan stabilo kursor di Windows 10

Cara menambahkan stabilo kursor di Windows 10

Cara menambahkan stabilo kursor di Windows 10

Cara menemukan aplikasi yang menggunakan sebagian besar RAM di Windows 10

Cara menemukan aplikasi yang menggunakan sebagian besar RAM di Windows 10

Cara menemukan aplikasi yang menggunakan sebagian besar RAM di Windows 10

Cara memperbaiki kesalahan Tidak dapat menemukan repositori modul di PowerShell pada Windows 10

Cara memperbaiki kesalahan Tidak dapat menemukan repositori modul di PowerShell pada Windows 10

Cara memperbaiki Tidak dapat menemukan kesalahan repositori modul di PowerShell pada Windows 10

Cara mengaktifkan dukungan Chromecast di Chromium Edge pada Windows 10

Cara mengaktifkan dukungan Chromecast di Chromium Edge pada Windows 10

Cara mengaktifkan dukungan Chromecast di Chromium Edge pada Windows 10

Cara mengubah nama jaringan PC Windows 10

Cara mengubah nama jaringan PC Windows 10

Cara mengubah nama jaringan PC Windows 10