วิธีปิดเสียงโดยอัตโนมัติเมื่อถอดหูฟังใน Windows 10

Windows 10 สามารถเก็บโปรไฟล์เสียงแยกต่างหากสำหรับอุปกรณ์เสียงต่างๆ สำหรับอุปกรณ์เสียงแต่ละเครื่องที่คุณเชื่อมต่อ คุณสามารถตั้งค่าระดับเสียงที่แตกต่างกัน และเมื่อเชื่อมต่ออุปกรณ์แล้ว ระดับเสียงจะปรับโดยอัตโนมัติ แน่นอนว่าไม่มีใครปิดเสียงอุปกรณ์อยู่ตลอดเวลา พวกเขาจะเพิ่มหรือลดระดับเสียง แต่ไม่มีใครปิดเสียงอุปกรณ์เสียงตามปกติ

หากคุณใช้หูฟังคู่กับเดสก์ท็อปของคุณ และบ่อยครั้งต้องตัดการเชื่อมต่อ คุณสามารถใช้สคริปต์ PowerShell เล็กน้อยที่จะปิดเสียงโดยอัตโนมัติเมื่อคุณถอดหูฟัง

นี่คือสิ่งที่โทรศัพท์มือถือทำ เช่น เมื่อคุณถอดหูฟัง เพลงจะหยุดโดยอัตโนมัติ เหตุผลเบื้องหลังคือคุณฟังเพลงเสร็จแล้วหรือถอดหูฟังออกโดยไม่ได้ตั้งใจ และต้องการวิธีปิดอย่างรวดเร็ว สคริปต์ที่เขียนขึ้นโดยทั่วไปในหลักการเดียวกันว่าโดย  Prateek ซิงห์ของ GEEKEEFY

วิธีปิดเสียงโดยอัตโนมัติเมื่อถอดหูฟังใน Windows 10

ปิดเสียงอัตโนมัติ

เปิด Notepad และวางสิ่งต่อไปนี้

[cmdletbinding()] Param() #Adding คำจำกัดความสำหรับการเข้าถึง Audio API Add-Type -TypeDefinition @' โดยใช้ System.Runtime.InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] อินเทอร์เฟซ IAudioEndpointVolume { // f (), g (), ... เป็นสล็อตเมธอด COM ที่ไม่ได้ใช้ กำหนดสิ่งเหล่านี้หากคุณสนใจ int f(); int ก.(); int ชั่วโมง(); int i(); int SetMasterVolumeLevelScalar (float fLevel, System.Guid pguidEventContext); int j(); int GetMasterVolumeLevelScalar (ออก float pfLevel); int k(); int l(); int ม.(); int n(); int SetMute([MarshalAs(UnmanagedType.Bool)] bool bMute, System.Guid pguidEventContext); int GetMute (ออกบูล pbMute); } [Guid ("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] อินเทอร์เฟซ IMMDevice { int เปิดใช้งาน (อ้างอิง System.Guid id, int clsCtx, int ActivationParams, ออก IAudioEndpointVolume aev); } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] อินเทอร์เฟซ IMMDeviceEnumerator { int f (); // int GetDefaultAudioEndpoint ที่ไม่ได้ใช้ (int dataFlow, int role, out IMMDevice endpoint); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] คลาส MMDeviceEnumeratorComObject { } เสียงคลาสสาธารณะ { คงที่ IAudioEndpointVolume Vol () { var enumerator = MMDeviceEnumeratorComObject ใหม่ () เป็น IMMDeviceEnumerator; IMMDevice dev = null; Marshal.ThrowExceptionForHR(enumerator.GetDefaultAudioEndpoint(/*eRender*/ 0, /*eMultimedia*/ 1, ออก dev)); IAudioEndpointVolume epv = null; var epvid = typeof (IAudioEndpointVolume).GUID; Marshal.ThrowExceptionForHR(dev.Activate(ref epvid, /*CLSCTX_ALL*/ 23, 0, out epv)); กลับ epv; } ปริมาณโฟลตคงที่สาธารณะ { รับ {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(ออก v)); return v;} set {Marshal.ThrowExceptionForHR (Vol ().SetMasterVolumeLevelScalar (value, System.Guid.Empty));} } บูลคงที่สาธารณะ ปิดเสียง { รับ { ปิดเสียงบูล; Marshal.ThrowExceptionForHR(Vol().GetMute(out ปิดเสียง)); กลับใบ้; } set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Clean all events in the current session since it in a infinite loop เพื่อเริ่มต้นใหม่เมื่อเริ่มการวนซ้ำ Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registering the Event and Waiting for events to be triggered Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs เหตุการณ์ใหม่ | ` เรียงลำดับวัตถุ TIME_CREATED -มากไปหาน้อย | ` Select-Object EventType -ExpandProperty EventType -First 1 #Conditional logic to handle, when to Mute/unMute the machine using Audio API If($EventType -eq 3) { [Audio]::Mute = $true Write-Verbose "Muted [$((Get-Date).tostring())]" }elseif($EventType -eq 2 -and [Audio]::Mute -eq $true) { [Audio]::Mute = $false เขียน-Verbose " ยกเลิกการปิดเสียง [$((Get-Date).tostring())]" } }

บันทึกด้วยนามสกุลไฟล์ PS1 ตรวจสอบให้แน่ใจว่าคุณเลือก 'ไฟล์ทั้งหมด' จากเมนูดร็อปดาวน์ประเภทไฟล์ ตั้งชื่อไฟล์ที่จะบอกคุณได้อย่างรวดเร็วว่าไฟล์นี้ใช้ทำอะไร บันทึกไว้ในที่ที่คุณไม่น่าจะลบออกโดยไม่ได้ตั้งใจ แต่ยังเป็นที่ที่คุณสามารถค้นหาได้อย่างง่ายดายหากต้องการ

เรียกใช้สคริปต์

PowerShell ไม่สามารถเรียกใช้สคริปต์อัตโนมัติได้ มีมาตรการรักษาความปลอดภัยในตัวเพื่อป้องกันไม่ให้ทำเช่นนั้น แต่มีวิธีแก้ไข เรามีบทความโดยละเอียดเกี่ยวกับวิธีการทำเช่นนั้น ทำตามคำแนะนำเพื่อเรียกใช้สคริปต์ PowerShell ที่คุณเพิ่งสร้างขึ้นโดยอัตโนมัติ และใช้งานตามกำหนดการเพื่อเริ่มสคริปต์ทุกครั้งที่คุณบูตเครื่องพีซี

อีกวิธีหนึ่ง คุณสามารถเรียกใช้สคริปต์ด้วยตนเองเมื่อคุณบูตระบบ ฉันใช้มันมาไม่ถึง 30 นาทีแล้วและไม่รู้ว่าตัวเองใช้ชีวิตโดยปราศจากมันได้อย่างไร

ฝากความเห็น

8 สิ่งสำคัญที่ต้องทำก่อนติดตั้ง Windows 11

8 สิ่งสำคัญที่ต้องทำก่อนติดตั้ง Windows 11

ก่อนติดตั้ง Windows 11 คุณควรตรวจสอบความเข้ากันได้ เปิดใช้งาน TPM 2.0 และ Secure Boot สร้างข้อมูลสำรอง ลบแอป ซ่อมแซมไฟล์ และ...

Build 26200.5742 (KB5064075) สำหรับ Windows 11 25H2 เพิ่มภาพกราฟิกใหม่ในเมนู Start (Dev)

Build 26200.5742 (KB5064075) สำหรับ Windows 11 25H2 เพิ่มภาพกราฟิกใหม่ในเมนู Start (Dev)

อัปเดต Build 26200.5742 (KB5064075) สำหรับ Windows 11 25H2 มาถึงแล้วใน Dev Channel พร้อมคุณสมบัติใหม่ในเมนู Start และตัวเลือก Control Panel ใน Settings

Build 26200.5751 สำหรับ Windows 11 25H2 นำเสนอคุณสมบัติใหม่และการเปลี่ยนแปลงด้านภาพ (Dev)

Build 26200.5751 สำหรับ Windows 11 25H2 นำเสนอคุณสมบัติใหม่และการเปลี่ยนแปลงด้านภาพ (Dev)

Build 26200.5751 (KB5064071) สำหรับ Windows 11 25H2 มาถึงแล้วใน Dev Channel พร้อมคุณสมบัติใหม่ และ Build 26120.5751 มาถึงใน Beta แล้ว

วิธีใช้ Copilot Vision เพื่อขอความช่วยเหลือจาก AI บน Windows 11

วิธีใช้ Copilot Vision เพื่อขอความช่วยเหลือจาก AI บน Windows 11

ในการใช้งาน Copilot Vision บน Windows 11 ให้เปิดแอป Copilot คลิกไอคอนแว่นตา Vision เลือกแอป แล้วคลิก แชร์

วิธีเปิดใช้งาน Auto Super Resolution บน Windows 11

วิธีเปิดใช้งาน Auto Super Resolution บน Windows 11

หากต้องการเปิดใช้งาน Auto Super Resolution บน Windows 11 เพื่อเพิ่มความละเอียดของเกม ให้ไปที่ การตั้งค่า > การแสดงผล > กราฟิก แล้วเปิดใช้งาน Automatic super resolution

วิธีถอนการลงทะเบียนพีซีของคุณจากโปรแกรม Windows 11 Insider

วิธีถอนการลงทะเบียนพีซีของคุณจากโปรแกรม Windows 11 Insider

หากต้องการออกจากโปรแกรม Windows 11 Insider ให้คลิก "หยุดรับเวอร์ชันทดลองใช้งาน" ในการตั้งค่าโปรแกรม Windows Insider และเปิดใช้งาน "ยกเลิกการลงทะเบียน"

5 วิธีถอนการติดตั้งการอัปเดตด้วยตนเองบน Windows 11 (2026)

5 วิธีถอนการติดตั้งการอัปเดตด้วยตนเองบน Windows 11 (2026)

ในการถอนการติดตั้งการอัปเดตบน Windows 11 ให้เปิด การตั้งค่า > การอัปเดต Windows > ประวัติการอัปเดต คลิก ถอนการติดตั้งการอัปเดต แล้วคลิก ถอนการติดตั้ง

4 วิธีง่ายๆ ในการตรวจสอบเวอร์ชันบน Windows 11

4 วิธีง่ายๆ ในการตรวจสอบเวอร์ชันบน Windows 11

หากต้องการตรวจสอบเวอร์ชันของ Windows 11 ให้ใช้การตั้งค่า "เกี่ยวกับ" จากนั้นเลือก "winver" แล้วเลือก "พรอมต์คำสั่ง" หรือ "PowerShell" วิธีการมีดังนี้

การอัปเดตฉุกเฉิน KB5078127 แก้ไขปัญหาความวุ่นวายที่เกิดจากการเปิดตัว Windows 11 ในเดือนมกราคม 2026

การอัปเดตฉุกเฉิน KB5078127 แก้ไขปัญหาความวุ่นวายที่เกิดจากการเปิดตัว Windows 11 ในเดือนมกราคม 2026

KB5078127 การอัปเดตแบบนอกรอบเพื่อแก้ไขปัญหาแอปขัดข้องและปัญหา Outlook บน Windows 11 25H2 และ 24H2 ที่เกิดจากการอัปเดตในเดือนมกราคม

KB5077744 และ KB5077797 แก้ไขข้อผิดพลาดในการปิดเครื่องและเข้าสู่ระบบบน Windows 11

KB5077744 และ KB5077797 แก้ไขข้อผิดพลาดในการปิดเครื่องและเข้าสู่ระบบบน Windows 11

การอัปเดต Windows 11 เดือนมกราคม 2025 หมายเลข KB5077744 และ KB5077797 แก้ไขข้อผิดพลาดในการปิดเครื่องและการเข้าสู่ระบบ Remote Desktop พร้อมให้ดาวน์โหลดแล้ว