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

Leave a Comment

ค้นหาเมื่อเว็บไซต์หรือระบบเครือข่ายล่มด้วย EasyNetMonitor

ค้นหาเมื่อเว็บไซต์หรือระบบเครือข่ายล่มด้วย EasyNetMonitor

EasyNetMonitor เป็นเครื่องมือตรวจสอบเครือข่ายและเว็บไซต์แบบพกพาที่ให้คุณตรวจสอบว่าเว็บไซต์หรือคอมพิวเตอร์เครือข่ายที่ระบุหยุดทำงานหรือไม่ มันมีทั้งสองอย่าง

ตั้งค่า VMware Workstation Pro บน Windows Server

ตั้งค่า VMware Workstation Pro บน Windows Server

ต้องการตั้งค่า VMware Workstation Pro 17 บน Windows Server ของคุณหรือไม่ เรียนรู้วิธีตั้งค่าอย่างง่ายดายด้วยคำแนะนำเชิงลึกนี้

วิธีแก้ไขข้อผิดพลาด INACCESSIBLE BOOT DEVICE บน Windows 10

วิธีแก้ไขข้อผิดพลาด INACCESSIBLE BOOT DEVICE บน Windows 10

ไม่มีอะไรจะเลวร้ายไปกว่าการพยายามทำงานหรือเล่นบนคอมพิวเตอร์ของคุณ เพียงเพื่อจะหยุดโดยข้อความ Blue Screen of Death โปรเจ็กต์ที่ยังไม่ได้บันทึกทั้งหมดจะหายไป

วิธีแปลงภาพ WEBP เป็น PNG หรือ JPG บน Windows 10

วิธีแปลงภาพ WEBP เป็น PNG หรือ JPG บน Windows 10

วิธีแปลงภาพ webp เป็น PNG หรือ JPG บน Windows 10

วิธีรับหมายเลขบรรทัดใน Notepad บน Windows 10

วิธีรับหมายเลขบรรทัดใน Notepad บน Windows 10

เรียนรู้วิธีการแสดงหมายเลขบรรทัดใน Notepad บน Windows 10 สำหรับการแก้ไขข้อความที่มีประสิทธิภาพยิ่งขึ้น รวมถึงโปรแกรมแก้ไขข้อความที่น่าสนใจอื่นๆ

5 วิธีในการเปิด Task Manager บน Windows 10

5 วิธีในการเปิด Task Manager บน Windows 10

5 วิธีในการเปิด Task Manager บน Windows 10

วิธีเปิด BIOS บน Windows 11: 3 วิธีที่ดีที่สุดที่คุณสามารถลองได้

วิธีเปิด BIOS บน Windows 11: 3 วิธีที่ดีที่สุดที่คุณสามารถลองได้

ต้องการปรับแต่ง BIOS แต่ไม่ทราบวิธีการเข้าถึง? เรียนรู้วิธีเปิด BIOS บนพีซี Windows 11 และปรับแต่งการตั้งค่าตามที่เห็นสมควร

วิธีเปลี่ยนเวลาใน Windows 10 – ตั้งเวลาและวันที่ (บทช่วยสอน)

วิธีเปลี่ยนเวลาใน Windows 10 – ตั้งเวลาและวันที่ (บทช่วยสอน)

เรียนรู้วิธีเปลี่ยนเวลาและวันที่ใน Windows 10 อย่างง่ายดาย พร้อมคำแนะนำทีละขั้นตอนและเคล็ดลับการตั้งค่าเขตเวลาและนาฬิกา

Minecraft เวอร์ชั่น Bedrock คืออะไร?

Minecraft เวอร์ชั่น Bedrock คืออะไร?

Minecraft มีให้บริการในทุกแพลตฟอร์มที่คุณสามารถเล่นเกมได้ ซึ่งรวมถึงแพลตฟอร์มเดสก์ท็อป แพลตฟอร์มมือถือ เกมคอนโซล รวมถึง

เปลี่ยนชื่อไดรฟ์ใน Windows ด้วย Drive Namer

เปลี่ยนชื่อไดรฟ์ใน Windows ด้วย Drive Namer

สมมติว่าคุณมีเครื่องเขียนดีวีดีสองตัวติดตั้งอยู่ในคอมพิวเตอร์ของคุณ ทั้งสองไดรฟ์มีตัวอักษรต่างกันแต่มีชื่อเหมือนกัน นั่นคือ 'DVD-RW' ไม่มีทางเข้ามา