SoundDesk

Tiện ích khay hệ thống Windows

Mỗi ứng dụng một mức âm lượng,
chỉ một cú nhấp.

Chrome 30%, Teams 70%, Spotify 20%. Thay vì mở bộ trộn âm lượng mỗi lần, một hồ sơ đưa tất cả về đúng chỗ. Hai cú nhấp từ khay, hoặc một thanh trượt trong bảng điều khiển.

Windows 10 · 11Không cần cài đặt, một tệp chạy duy nhấtKết nối ra ngoài mặc định tắt

Cửa sổ mở ra khi bấm biểu tượng ở khay. Cũng có thể đổi đúng những giá trị đó ngay từ menu.

Làm được gì

Việc bạn vẫn làm trong bộ trộn âm lượng, nay chỉ hai cú nhấp từ khay.

01

Âm lượng và tắt tiếng theo ứng dụng

Gom các phiên đang phát tiếng theo từng ứng dụng. Ứng dụng chạy nhiều tiến trình như Chrome vẫn chỉ là một dòng.

02

Mỗi ứng dụng một thiết bị phát khác nhau

Game ra loa, Discord ra tai nghe. Thiết bị phát mặc định cũng đổi được từ menu, và hồ sơ lưu luôn thiết bị cùng với âm lượng.

03

Giữ nguyên khi đóng rồi mở lại ứng dụng

Nhớ âm lượng của từng ứng dụng và đặt lại khi ứng dụng đó phát tiếng trở lại . Rút ra cắm lại thiết bị, hay thức dậy sau khi ngủ, cũng áp dụng lại hồ sơ.

04

Micrô cũng trong tầm tay

Nút gấp nhất khi đang họp. CtrlAltK tắt và bật lại micrô.

05

Bảng điều khiển

Sửa hồ sơ, đổi phím tắt, viết quy tắc tự động hoá — tất cả trong cửa sổ. Không bao giờ phải sửa tay tệp cài đặt.

06

Chỉ những gì bạn bật mới đi ra ngoài

Báo cáo sử dụng ẩn danh, kiểm tra cập nhật và thông báo của nhà phát triển là tất cả, và cả ba đều mặc định tắt. Bảng điều khiển chỉ mở trên 127.0.0.1 và đòi một token được tạo mới mỗi lần chạy.

Hồ sơ

Hoàn cảnh đổi thì âm lượng của mọi ứng dụng cũng nên đổi theo.

Có sẵn ba hồ sơ, và trạng thái hiện tại có thể lưu thành hồ sơ mới bất cứ lúc nào. Chuyển tự động — khi ứng dụng khởi chạy, khi cắm thiết bị, hoặc theo khung giờ — mặc định tắt.

Các hồ sơ có sẵn
Hồ sơTổngCài đặt theo ứng dụng
Work72%Chrome 30% · Teams 70% · Spotify 20%
Gaming80%Discord 65% · Spotify 15% · trình duyệt tắt tiếng
Meeting60%Teams 80% · Zoom 80% · Chrome 20% · Spotify tắt tiếng

Phím tắt

Khi tay đã đặt sẵn trên bàn phím.

Đổi được hết, và nếu chương trình khác đã dùng tổ hợp đó thì bạn sẽ được báo, thay vì thất bại trong im lặng.

  • CtrlAlt Tăng âm lượng tổng
  • CtrlAlt Giảm âm lượng tổng
  • CtrlAltM Tắt tiếng
  • CtrlAltK Tắt tiếng micrô
  • CtrlAltS Cửa sổ
  • CtrlAlt13 Đổi hồ sơ

Định tuyến theo ứng dụng

Một lối đi Windows chưa từng ghi vào tài liệu, được kiểm chứng trước khi dùng.

đo thực tế

«chỉ ứng dụng này ra tai nghe» không có API công khai. Phải gọi giao diện nội bộ mà ứng dụng Cài đặt của Windows dùng, Windows.Media.Internal.AudioPolicyConfig , và cả mã định danh giao diện lẫn bố cục vtable của nó đều khác nhau giữa các bản dựng. SoundDesk không dùng chúng theo phỏng đoán.

Lần gọi đầu tiên, nguy hiểm nhất, được thực hiện trong một tiến trình riêng, để khay vẫn sống nếu nó sập, và sau khi ứng dụng thực sự được chuyển đi thì đọc lại bằng Get ; chỉ khi đúng thiết bị đó quay lại mới nâng lên mức «đã xác minh». Nếu đọc lại không khớp, tính năng tự tắt và mở trang cài đặt của Windows.

Kết luận có nghĩa gì
Trạng tháiCăn cứ
verifiedĐã thực sự chuyển một tiến trình và endpoint id đọc lại khớp. Nếu không có gì đang phát, phần tự kiểm tra tạo cho mình một phiên với luồng im lặng và kiểm tra bằng chính nó
probableKhông tạo được thứ gì để đọc lại — chỉ biết rằng việc kích hoạt factory và gọi qua vtable đã không làm sập
unsupportedTự kiểm tra thất bại, hoặc lệnh gọi thành công mà Windows không áp dụng → bạn được dẫn tới trang cài đặt

Trên Windows 10 22H2, bản dựng 19045, verified đã xác nhận Kết luận được lưu kèm số bản dựng và kiểm tra lại khi Windows cập nhật

Bảo mật

An toàn ngay cả khi chạy thẳng từ thư mục tải về.

Đây là những vấn đề mà một tệp chạy di động thực sự gặp phải. Không phải danh sách kiểm tra trừu tượng: mỗi dòng đều có mã nguồn và một bài kiểm thử đứng sau.

Mối đe doạCách xử lý
Chiếm quyền DLL
Một DLL giả đặt cạnh tệp exe
DLL hệ thống chỉ được nạp theo System32 đường dẫn tuyệt đối. Khi khởi động, thư mục chứa exe và thư mục làm việc bị loại khỏi đường tìm kiếm
Chiếm tên mutex
Một phiên khác giành tên trước và chặn việc khởi chạy
Đối tượng một-thực-thể nằm trong không gian tên Local\ .
Tiêm qua tệp cài đặt endpoint id chỉ tới được lệnh gọi COM sau khi qua kiểm tra bằng biểu thức chính quy
Giả mạo nhật ký
Một ký tự xuống dòng trong tên tiến trình để chèn dòng nhật ký giả
Tên ứng dụng và thiết bị bị loại bỏ ký tự điều khiển rồi giới hạn độ dài
Đường dẫn tự khởi động không có dấu nháy Giá trị Run luôn là đường dẫn tuyệt đối trong dấu nháy, và chỉ dùng HKCU .
Can thiệp trái phép vào bảng điều khiển
Chương trình khác trên cùng máy, hoặc một trang web
127.0.0.1 mà thôi, cộng với một token 256 bit mới mỗi lần chạy và kiểm tra Host cùng Origin. Token biến thành cookie HttpOnly ngay lần tải đầu và biến mất khỏi thanh địa chỉ

696 bài kiểm thử · độ phủ 84% Bao gồm bài kiểm thử thật đặt một DLL giả vào và kiểm tra xem nó có bị chặn không Ký bằng Azure Trusted Signing · chứng chỉ còn mới nên SmartScreen có thể cảnh báo một thời gian

Quyền riêng tư

Chỉ những gì bạn bật mới đi ra ngoài.

Tên ứng dụng và thông tin phiên được xử lý ngay trên máy này chứ không ở đâu khác, và cài đặt chỉ là một tệp JSON. Có đúng ba tính năng chạm tới mạng — báo cáo sử dụng ẩn danh, kiểm tra cập nhật và thông báo của nhà phát triển — và cả ba đều tắt sẵn. Trước khi bạn bật một trong số đó, không một yêu cầu nào được gửi đi.

Tệp cài đặt%APPDATA%\SoundDesk\config.json
Nhật ký%APPDATA%\SoundDesk\sounddesk.log
Báo cáo sử dụng ẩn danhMặc định tắt — khi bật, mỗi ngày một lần: một id cài đặt ngẫu nhiên, phiên bản, bản dựng Windows, ngôn ngữ và ba con số đếm
Kiểm tra cập nhật · thông báo của nhà phát triểnMặc định tắt — khi bật, chỉ phiên bản đang chạy và ngôn ngữ. Không gửi id cài đặt
Những thứ không bao giờ được gửi điTên ứng dụng · tên thiết bị · đường dẫn tệp · tên tài khoản Windows
API được dùngIMMDeviceEnumerator · IAudioSessionManager2 · ISimpleAudioVolume · IPolicyConfig · AudioPolicyConfig
Tự khởi độngHKCU\Software\Microsoft\Windows\CurrentVersion\Run (tuỳ chọn)

Tự kiểm tra

Hãy hỏi thẳng ứng dụng xem nó có chạy được trên máy bạn không.

Chạy từng tính năng của chính nó trên ngăn xếp âm thanh thật, và trả lại nguyên trạng những gì đã động vào. Không làm bất cứ thay đổi nào có thể phát ra tiếng — âm lượng tổng được chứng minh bằng cách ghi lại đúng giá trị đang có, tức chỉ kiểm chứng đường gọi.

LệnhKiểm tra những gì
--selftest-audio Thiết bị · âm lượng tổng · micrô · âm lượng, tắt tiếng và định tuyến theo ứng dụng · hồ sơ · phím tắt toàn cục. Nếu không ứng dụng nào đang phát, định tuyến được kiểm tra bằng phiên im lặng của chính nó
--selftest-panel Tệp chạy đã đóng gói có thực sự phục vụ bảng điều khiển hay không
--report Thiết bị, phiên và hồ sơ dưới dạng JSON

Kết quả trên máy này

OK  Âm lượng theo ứng dụng (firefox.exe 100% → 42% → khôi phục)
OK  Tắt tiếng theo ứng dụng
OK  Định tuyến đầu ra theo ứng dụng (firefox.exe → ASUS VZ279 → khôi phục)
OK  Đổi thiết bị mặc định · hồ sơ · phím tắt toàn cục
—   Micrô (máy này không có thiết bị đầu vào)

11 passed, 0 failed, 2 skipped — Windows 10 22H2 bản dựng 19045

Ở đâu cũng vậy

Bằng ngôn ngữ của bạn, trên máy của bạn.

Cùng một bộ cài đặt ở nhà và ở công ty, đọc bằng ngôn ngữ bạn dùng, gọi từ macro khi cần.

01

12 ngôn ngữ

Đi theo ngôn ngữ hiển thị của Windows. Bạn cũng có thể tự chọn, và khi đổi thì bảng điều khiển cùng menu khay đổi ngay tại chỗ, không cần khởi động lại.

한국어 · English · 日本語 · 简体中文 · 繁體中文 · Español · Português · Français · Deutsch · Русский · Italiano · Tiếng Việt

02

Ở nhà và ở công ty, cùng một bộ cài đặt

Xuất hồ sơ, phím tắt và quy tắc ra một tệp rồi nhập trên máy khác. Thiết bị được ghép theo tên — cùng một tai nghe nhưng id trên mỗi máy lại khác, nên chỉ chép tệp thôi sẽ làm phần định tuyến lặng lẽ biến mất. Những thiết bị máy này không có sẽ được nêu tên cho bạn.

03

Gọi từ macro

Dùng thẳng từ một nút Stream Deck hay một dòng AutoHotkey. Hoạt động dù khay có đang chạy hay không, và không tạo thêm biểu tượng thứ hai. Mã thoát 0 nếu có gì đó thay đổi, 1 nếu không khớp gì cả.

SoundDesk.exe --set-app chrome.exe=25
SoundDesk.exe --profile Gaming
SoundDesk.exe --list apps

Cài đặt

Một tệp. Không có trình cài đặt.

SoundDesk.exe vào nơi bạn muốn rồi chạy, biểu tượng sẽ hiện ở khay. Muốn gỡ thì xoá tệp và thư mục cài đặt là xong. Không cần Python.

Tải SoundDesk.exe

21,9 MB · đã ký mãSHA-256

Xem lại

Windows 10 1803 trở lênMột tệp chạy duy nhấtKhông cần quyền quản trịKèm SHA-256