วิธีปิดเสียงโดยอัตโนมัติเมื่อถอดหูฟังใน 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 นาทีแล้วและไม่รู้ว่าตัวเองใช้ชีวิตโดยปราศจากมันได้อย่างไร

ฝากความเห็น

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

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

ใน Windows 11 ให้เปิด การตั้งค่า > ระบบ > ขั้นสูง เปิดใช้งาน sudo และเลือก Inline หรือเรียกใช้คำสั่ง sudo config --enable normal

วิธีเพิ่มนาฬิกาหลายโซนเวลาใน Windows 11

วิธีเพิ่มนาฬิกาหลายโซนเวลาใน Windows 11

หากต้องการแสดงนาฬิกาหลายเรือนใน Windows 11 ให้เปิด การตั้งค่า > เวลาและภาษา > วันที่และเวลา แล้วคลิก นาฬิกาเพิ่มเติม จาก แสดงเวลาและวันที่ในถาดระบบ

วิธีเปลี่ยนตำแหน่งการแสดงตัวบ่งชี้ฮาร์ดแวร์บนหน้าจอใน Windows 11

วิธีเปลี่ยนตำแหน่งการแสดงตัวบ่งชี้ฮาร์ดแวร์บนหน้าจอใน Windows 11

ในการเปลี่ยนตำแหน่งการแสดงตัวบ่งชี้ระดับเสียง ความสว่าง และอื่นๆ บนหน้าจอใน Windows 11 คุณต้องใช้การตั้งค่าการแจ้งเตือน

เปิดใช้งานโหมดประหยัดพลังงานแบบปรับได้เพื่อยืดอายุการใช้งานแบตเตอรี่บน Windows 11

เปิดใช้งานโหมดประหยัดพลังงานแบบปรับได้เพื่อยืดอายุการใช้งานแบตเตอรี่บน Windows 11

หากต้องการเปิดใช้งานโหมดประหยัดพลังงานอัตโนมัติ (Adaptive Energy Saver) ใน Windows 11 ให้ใช้ ViveTool เพื่อเปิดใช้งานฟีเจอร์ ID 56401475 และเลือก Adaptive ในหน้า พลังงานและแบตเตอรี่ (Power & battery)

Build 27898 สำหรับ Windows 11 นำเสนอคุณสมบัติใหม่ ๆ สู่ Canary Channel

Build 27898 สำหรับ Windows 11 นำเสนอคุณสมบัติใหม่ ๆ สู่ Canary Channel

Build 27898 สำหรับ Windows 11 นำเสนอตัวเลือกการปรับแต่งใหม่ การออกแบบใหม่สำหรับการอนุญาตแอป เครื่องมือการกู้คืน คุณสมบัติเสียง และการเปลี่ยนแปลง DMA

Build 26120.4441 (KB5060816) สำหรับ Windows 11 คุณสมบัติใหม่และการเปลี่ยนแปลง (เบต้า)

Build 26120.4441 (KB5060816) สำหรับ Windows 11 คุณสมบัติใหม่และการเปลี่ยนแปลง (เบต้า)

Windows 11 build 26120.4441 (KB5060816) เวอร์ชันเบต้า นำมาซึ่งการส่งออกข้อมูลการเรียกคืน (Recall export) ในยุโรป นาฬิกาในศูนย์การแจ้งเตือนพร้อมแสดงวินาที และการเปลี่ยนแปลงอื่นๆ

วิธีสร้าง USB บูตได้สำหรับ Windows 11 arm64 (ARM) โดยใช้ Rufus

วิธีสร้าง USB บูตได้สำหรับ Windows 11 arm64 (ARM) โดยใช้ Rufus

สร้าง USB บูตได้สำหรับ Windows 11 ARM64 ด้วย Rufus เรียนรู้วิธีดาวน์โหลดไฟล์ ISO ARM64 และเตรียม USB สำหรับพีซี ARM รวมถึงพีซี Copilot+

วิธีการติดตั้ง Winget บน Windows 11 และ 10

วิธีการติดตั้ง Winget บน Windows 11 และ 10

ในการติดตั้ง winget (โปรแกรมจัดการแพ็กเกจของ Windows) ให้ดาวน์โหลด App Installer บน Windows 11 และ 10 แล้วใช้คำสั่ง winget

วิธีข้ามขั้นตอนการตั้งค่าบัญชี Microsoft ในขั้นตอน OOBE บน Windows 11 – วิธีการที่ยังใช้ได้อยู่

วิธีข้ามขั้นตอนการตั้งค่าบัญชี Microsoft ในขั้นตอน OOBE บน Windows 11 – วิธีการที่ยังใช้ได้อยู่

คุณยังคงสามารถข้ามขั้นตอนการใช้งานบัญชี Microsoft และอินเทอร์เน็ตบน Windows 11 OOBE ได้โดยใช้ Registry, WinJS, การเข้าร่วมโดเมน, ไฟล์ Unattended และเครื่องมือต่างๆ

วงจรชีวิตของ Windows 11 สำหรับรุ่น Home และ Pro

วงจรชีวิตของ Windows 11 สำหรับรุ่น Home และ Pro

อายุการใช้งานของ Windows 11 Home และ Pro เวอร์ชัน 25H2 จะสิ้นสุดในวันที่ 13 ตุลาคม 2560 และเวอร์ชัน 24H2 จะสิ้นสุดในวันที่ 13 ตุลาคม 2569 ส่วนเวอร์ชัน Enterprise และ Education จะได้รับการสนับสนุนนานกว่า