本项目是一个基于 WinForms 的 Windows 托盘工具,用于监控系统默认音频输出设备的变化,并在检测到变化时自动控制网易云音乐(cloudmusic)播放/暂停。
- 隐藏主窗口,仅显示托盘图标。
- 监听系统默认音频输出设备的切换。
- 检测到切换时,如果网易云音乐正在运行,自动发送 Ctrl+Alt+P 快捷键(控制播放/暂停)。
- 托盘图标右键菜单可退出程序,双击可显示主窗口。
- 主窗口可显示所有音频输出设备列表。
- 支持开机自启动和一键取消自启动。
- 日志功能,所有关键事件写入
audio_monitor.log。 - 全局异常捕获,异常信息写入日志并弹窗提示。
- .NET 8.0(或兼容的 Windows 桌面运行环境)
- CSCore(音频设备监听)
- 安装依赖包(如未自动还原):
dotnet restore ./AudioDeviceMonitor.csproj - 编译项目(Release 模式):
dotnet build -c Release ./AudioDeviceMonitor.csproj
- 运行程序:
.\bin\Release\net8.0-windows\AudioDeviceMonitor.exe
# 生成自包含单文件(无需目标机安装 .NET)
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish
# 运行
cd publish
./AudioDeviceMonitor.exedotnet publish -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -o publishMainForm.cs:主窗体及核心逻辑AudioDeviceMonitor.csproj:项目文件audio_monitor_icon.ico:程序和托盘图标audio_monitor.log:运行日志
- 需在 Windows 系统下运行。
- 托盘图标和 exe 图标均已内嵌,无需手动复制 ico 文件。
- 若未用 WinForms 设计器,
InitializeComponent方法可为空。 - 日志文件
audio_monitor.log位于 exe 同目录下。 - 若程序无法启动,请用命令行运行并查看日志内容。
- 推送带 tag(如 v1.0.0)的 commit 到 GitHub,会自动构建并发布 exe 到 Release。
- 详见
.github/workflows/release-exe.yml。
如有问题欢迎反馈!