App Audio Router 是一个 Windows 上的音频路由工具,允许用户将特定程序的音频输出路由到指定的音频设备。该工具基于 PyQt5 开发,使用 SoundVolumeView 作为后端来实现音频路由功能。
- 将指定程序的音频输出路由到指定的音频设备
- 自动刷新进程和设备列表
- 自动记忆并套用路由设置
- 简洁直观的图形用户界面
- Windows 10/11
- Python 3.10/3.12(如果从源码运行)
- SoundVolumeView.exe(已包含在打包版本中)
- 下载打包好的
AppAudioRouter.exe文件 - 确保
SoundVolumeView.exe与AppAudioRouter.exe在同一目录下(打包版本已包含) - 双击运行
AppAudioRouter.exe
- 安装 Python 3.10 或更高版本
- 安装依赖包:
pip install PyQt5 pycaw psutil - 下载 SoundVolumeView.exe 并将其放在与
app_audio_router.py相同的目录下 - 运行程序:
python app_audio_router.py
- 启动程序:双击
AppAudioRouter.exe启动程序 - 刷新进程列表:
- 点击 "刷新进程" 按钮手动刷新
- 程序会自动每3秒刷新一次进程列表
- 注意:需要目标程序正在运行并发出声音才能被检测到
- 刷新设备列表:
- 点击 "刷新设备" 按钮手动刷新
- 程序启动时会自动加载设备列表
- 路由音频:
- 从 "选择进程" 下拉列表中选择要路由的进程
- 从 "选择输出设备" 下拉列表中选择目标音频设备
- 选择适当的默认类型(通常选择 "全部(all)")
- 点击 "路由到此设备 ▶" 按钮应用设置
- 勾选 "自动记忆并套用给该进程(按可执行名)" 复选框
- 当启用此功能时,程序会自动将之前设置的路由规则应用到同名进程
- 路由设置会保存在
app_audio_router.config.json文件中
程序底部的日志区域会显示操作结果和状态信息,包括:
- 进程和设备列表刷新状态
- 路由设置的成功或失败信息
- 配置文件保存状态
工具包中还包含一个独立的视频转MP3转换器,可以方便地从视频文件中提取音频并保存为MP3格式。
- 支持单个视频文件转换
- 支持文件夹批量转换
- 支持多种视频格式(MP4, AVI, MOV, MKV, FLV, WMV等)
- 图形用户界面,操作简单
- 转换进度显示
- 运行
video_to_mp3_converter.py脚本(需要Python环境)或使用打包版本 - 选择转换模式:
- 单个文件转换:点击"选择单个视频文件"按钮,选择要转换的视频文件
- 文件夹批量转换:点击"选择文件夹批量转换"按钮,选择包含视频文件的文件夹
- 程序将自动开始转换过程,进度条会显示转换进度
- 转换完成后,MP3文件将保存在与原视频文件相同的目录中
- Python 3.10 或更高版本(如果从源码运行)
- moviepy 库:
pip install moviepy
工具包中还包含一个独立的音频标签编辑器,可以为音频文件添加艺术家名称和专辑名称等标签信息。
- 支持为文件夹中的多个音频文件批量添加标签
- 支持多种音频格式(MP3, WAV, FLAC, M4A, OGG等)
- 图形用户界面,操作简单
- 标签编辑进度显示
- 运行
audio_tag_editor.py脚本(需要Python环境) - 点击"浏览"按钮,选择包含音频文件的文件夹
- 在"艺术家名称"和"专辑名称"输入框中填写相应的标签信息
- 点击"应用标签"按钮开始为音频文件添加标签
- 程序将自动处理所有音频文件,并在完成后显示结果
- Python 3.10 或更高版本(如果从源码运行)
- mutagen 库:
pip install mutagen
- PyQt5:用于构建图形用户界面
- pycaw:用于访问 Windows 音频会话
- psutil:用于进程管理
- SoundVolumeView:用于实际的音频路由操作
- 程序使用
pycaw库检测当前系统中的音频会话和进程 - 使用
SoundVolumeView.exe的命令行接口设置音频路由 - 路由设置基于进程 PID 和音频设备 ID
- 自动记忆功能将进程名与设备 ID 的映射关系保存在配置文件中
AppAudioRouter.exe:主程序可执行文件SoundVolumeView.exe:音频路由工具app_audio_router.config.json:配置文件,保存自动记忆的路由设置favicon.ico:程序图标文件
- 某些操作可能需要管理员权限
- 程序设置的路由在程序退出后可能会失效
- 不支持对系统关键进程进行音频路由
- 自动记忆功能基于进程可执行文件名,不是 PID