Cách tự động tắt tiếng khi chưa cắm tai nghe trên Windows 10

Cách tự động tắt tiếng khi chưa cắm tai nghe trên Windows 10

Windows 10 có thể giữ các cấu hình âm thanh riêng biệt cho các thiết bị âm thanh khác nhau. Đối với mỗi thiết bị âm thanh mà bạn kết nối, bạn có thể đặt mức âm lượng khác nhau và khi thiết bị được kết nối, âm lượng sẽ tự động điều chỉnh. Tất nhiên, không ai giữ một thiết bị âm thanh luôn bị tắt tiếng. Họ sẽ tăng hoặc giảm âm lượng nhưng không ai có thói quen tắt tiếng thiết bị âm thanh.

Nếu bạn sử dụng một cặp tai nghe với máy tính để bàn và thường xuyên phải ngắt kết nối chúng, bạn có thể sử dụng một đoạn mã PowerShell nhỏ sẽ tự động tắt âm thanh khi bạn rút tai nghe ra.

Đây là điều mà điện thoại di động làm, tức là khi bạn rút tai nghe ra, nhạc sẽ tự động dừng. Logic đằng sau điều này là bạn đã nghe nhạc xong hoặc bạn đã vô tình tháo tai nghe của mình và bạn cần một cách nhanh chóng để tắt nó đi. Về cơ bản, kịch bản được viết trên nguyên tắc đó bởi  Prateek Singh của GEEKEEFY .

Cách tự động tắt tiếng khi chưa cắm tai nghe trên Windows 10

Tự động tắt âm thanh

Mở Notepad và dán phần sau;

[cmdletbinding ()] Param () # Thêm định nghĩa để truy cập Audio API Add-Type -TypeDefinition @ 'bằng System.Runtime.InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] giao diện IAudioEndpointVolume {// f (), g (), ... là các khe phương thức COM không được sử dụng. Xác định các giá trị này nếu bạn quan tâm int f (); int g (); int h (); int i (); int SetMasterVolumeLevelScalar (float fLevel, System.Guid pguidEventContext); int j (); int GetMasterVolumeLevelScalar (ra float pfLevel); int k (); int l (); int m (); int n (); int SetMute ([MarshalAs (UnmanagedType.Bool)] bool bMute, System.Guid pguidEventContext); int GetMute (ra bool pbMute); } [Guid ("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] giao diện IMMDevice {int Activate (ref System.Guid id, int clsCtx, int kích hoạtParams, ra IAudioEndpointVolume aev); } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] giao diện IMMDeviceEnumerator {int f (); // Không sử dụng int GetDefaultAudioEndpoint (int dataFlow, int role, out IMMDevice endpoint); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] class MMDeviceEnumeratorComObject {} public class Audio {static IAudioEndpointVolume Vol () {var enumerator = new MMDeviceEnumeratorComObject () as IMMDevice; IMMDevice dev = null; 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)); trả lại epv; } public static float Khối lượng {get {float v = -1; Marshal.ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (out v)); return v;} set {Marshal.ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (value, System.Guid.Empty));}} public static bool Mute {get {bool mute; Marshal.ThrowExceptionForHR (Vol (). GetMute (tắt tiếng)); trở lại tắt tiếng; } set {Marshal.ThrowExceptionForHR (Vol (). SetMute (value, System.Guid.Empty)); }}} '@ -Verbose While ($ true) {# Xóa tất cả các sự kiện trong phiên hiện tại kể từ khi nó nằm trong một vòng lặp vô hạn, để bắt đầu lại khi vòng lặp bắt đầu Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registering sự kiện và chờ sự kiện được kích hoạt Đăng ký-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event | Out-Null $ EventType = $ Event.sourceargs. newevent | `Sắp xếp-Đối tượng TIME_CREATED -Tăng dần | `Select-Object EventType -ExpandProperty EventType -First 1 # Logic điều kiện để xử lý, Khi nào thì tắt tiếng máy bằng Audio API If ($ EventType -eq 3) {[Audio] :: Mute = $ true Write-Verbose" Đã tắt tiếng [$ ((Get-Date) .tostring ())] "} elseif ($ EventType -eq 2 -and [Audio] :: Mute -eq $ true) {[Audio] :: Mute = $ false Write-Verbose" Đã bỏ qua [$ ((Get-Date) .tostring ())] "}}

Lưu nó với phần mở rộng tệp PS1. Đảm bảo rằng bạn chọn 'Tất cả các tệp' từ danh sách loại tệp thả xuống. Đặt tên cho tệp sẽ cho bạn biết ngay tác dụng của nó. Lưu nó ở một số nơi bạn không thể vô tình xóa nó nhưng cũng là nơi bạn có thể dễ dàng tìm thấy nó nếu cần.

Chạy tập lệnh

PowerShell không thể chỉ tự động chạy một tập lệnh. Có một biện pháp bảo mật tích hợp ngăn nó làm như vậy nhưng có một cách để giải quyết. Chúng tôi có một bài viết chi tiết về cách bạn có thể làm điều đó. Làm theo hướng dẫn để tự động chạy tập lệnh PowerShell bạn vừa tạo và sử dụng tác vụ đã lên lịch để bắt đầu tập lệnh mỗi khi bạn khởi động PC của mình.

Ngoài ra, bạn có thể chạy script theo cách thủ công khi khởi động hệ thống của mình. Tôi đã sử dụng nó chưa đầy 30 phút và tôi không biết mình đã sống như thế nào nếu không có nó trước đây.


Cách sử dụng Open With cho nhiều tệp trên Windows 10

Cách sử dụng Open With cho nhiều tệp trên Windows 10

Menu ngữ cảnh tệp trong Windows 10 có một tùy chọn hữu ích được gọi là Mở bằng. Tùy chọn này cho phép người dùng chọn bất kỳ ứng dụng nào để mở tệp. Nếu như

Cách gỡ cài đặt Minecraft Dungeons trên Windows 10 một cách an toàn

Cách gỡ cài đặt Minecraft Dungeons trên Windows 10 một cách an toàn

Minecraft có nhiều phiên bản trò chơi khác nhau cung cấp các cấu trúc khác nhau để chơi và cốt truyện hơi đa dạng. Một trong những phiên bản như vậy là Minecraft

Cách lấy số dòng trong Notepad trên Windows 10

Cách lấy số dòng trong Notepad trên Windows 10

Trình soạn thảo văn bản là những ứng dụng có thể đơn giản hoặc phức tạp. Trên thực tế, một số trình soạn thảo văn bản thêm nhiều tính năng đến mức họ không còn là trình soạn thảo văn bản và

Phần mềm Office miễn phí tốt nhất (Phiên bản 2021): Các lựa chọn thay thế cho Word, PowerPoint và Excel

Phần mềm Office miễn phí tốt nhất (Phiên bản 2021): Các lựa chọn thay thế cho Word, PowerPoint và Excel

Nếu bạn cần phần mềm văn phòng phù hợp nhưng không muốn trả phí cao cho các sản phẩm có thương hiệu, bạn có thể đang tìm kiếm một giải pháp thay thế miễn phí phù hợp. Trong

Cách tắt tính năng Xóa phần cứng an toàn trên Windows 10

Cách tắt tính năng Xóa phần cứng an toàn trên Windows 10

Cách tắt tính năng Loại bỏ an toàn phần cứng trên Windows 10

Cách tìm ứng dụng sử dụng nhiều RAM nhất trên Windows 10

Cách tìm ứng dụng sử dụng nhiều RAM nhất trên Windows 10

Cách tìm ứng dụng sử dụng nhiều RAM nhất trên Windows 10

Cách khắc phục lỗi Không thể tìm thấy kho mô-đun trong PowerShell trên Windows 10

Cách khắc phục lỗi Không thể tìm thấy kho mô-đun trong PowerShell trên Windows 10

Cách khắc phục lỗi Không thể tìm thấy kho lưu trữ mô-đun trong PowerShell trên Windows 10

Cách bật hỗ trợ Chromecast trong Chromium Edge trên Windows 10

Cách bật hỗ trợ Chromecast trong Chromium Edge trên Windows 10

Cách bật hỗ trợ Chromecast trong Chromium Edge trên Windows 10

Cách thay đổi tên mạng PC Windows 10

Cách thay đổi tên mạng PC Windows 10

Cách thay đổi tên mạng PC Windows 10

Cách chặn nâng cấp Chromium Edge tự động trên Windows 10

Cách chặn nâng cấp Chromium Edge tự động trên Windows 10

Chromium Edge đã hết phiên bản beta và Microsoft đã sẵn sàng giới thiệu nó cho người dùng. Những phiên bản trên Windows 10 1803 trở lên sẽ được cập nhật thông qua Windows update. Nếu như