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.

Leave a Comment

Cara Memperbaiki javascript: void(0) Kesalahan di Chrome

Cara Memperbaiki javascript: void(0) Kesalahan di Chrome

Kesalahan <strong>javascript: void(0)</strong> saat loading situs web bisa sangat mengganggu. Temukan berbagai solusi untuk memperbaikinya di sini.

Cara menghapus keheningan dari file audio di Windows 10

Cara menghapus keheningan dari file audio di Windows 10

Pelajari cara menghapus keheningan dari file audio menggunakan Audacity untuk meningkatkan kualitas audio Anda dengan langkah-langkah mudah.

Cara Memperbaiki IRQL NOT LESS OR EQUAL (BSoD Error) di Windows 10

Cara Memperbaiki IRQL NOT LESS OR EQUAL (BSoD Error) di Windows 10

IRQL NOT LESS OR EQUAL adalah pesan kesalahan Blue Screen of Death yang dapat terjadi pada Windows 10, 8.1, 8, dan edisi yang lebih lama. Pelajari cara memperbaikinya di sini.

Cara mengaktifkan SMB di Windows 10

Cara mengaktifkan SMB di Windows 10

Pelajari cara mengaktifkan SMB di Windows 10 untuk berbagi file dengan mudah. Langkah-langkah yang jelas dan mudah dipahami.

Cara Menggunakan MSI Afterburner – Panduan Lengkap

Cara Menggunakan MSI Afterburner – Panduan Lengkap

Panduan lengkap tentang penggunaan MSI Afterburner untuk mengoptimalkan kinerja GPU Anda. Temukan tips dan trik untuk overclocking, undervolting, dan lainnya.

Kartu Grafis NVIDIA Tidak Terdeteksi oleh Windows 10 (SOLUSI)

Kartu Grafis NVIDIA Tidak Terdeteksi oleh Windows 10 (SOLUSI)

Beberapa pengguna Windows 10 mengeluh komputer/Laptop mereka tidak dapat mendeteksi kartu grafis NVIDIA. Artikel ini memberikan solusi lengkap untuk mengatasi masalah ini.

Cara Memperbaiki AMD Catalyst Control Center Tidak Bisa Dibuka di Windows 10

Cara Memperbaiki AMD Catalyst Control Center Tidak Bisa Dibuka di Windows 10

Panduan lengkap untuk memperbaiki AMD Catalyst Control Center yang tidak bisa dibuka di Windows 10. Dapatkan solusi efektif dan langkah-langkah praktis.

Sesuatu Terjadi dan PIN Anda Tidak Tersedia (DIPERBAIKI)

Sesuatu Terjadi dan PIN Anda Tidak Tersedia (DIPERBAIKI)

Temukan solusi untuk masalah "Sesuatu terjadi dan PIN Anda tidak tersedia" di Windows 10. Lindungi akun Anda dengan metode masuk yang lebih aman.

Windows Media Player Tidak Menampilkan Video (Hanya Suara) – DIPERBAIKI

Windows Media Player Tidak Menampilkan Video (Hanya Suara) – DIPERBAIKI

Panduan lengkap untuk mengatasi masalah Windows Media Player tidak menampilkan video, hanya suara. Temukan solusi efektif dan optimasi untuk pemutar media Anda.

Cara menemukan dan membuka folder AppData di Windows 10

Cara menemukan dan membuka folder AppData di Windows 10

Pelajari cara untuk menemukan dan membuka folder AppData di Windows 10 dengan panduan mudah. Juga temukan cara untuk menampilkan folder tersembunyi dan mengelola file di dalamnya.