安装与设置
目录
前提条件
- Windows 10(22H2)/ 11(x64)
- 专用 USB Bluetooth 适配器(独立于内置 Bluetooth)
A2DPWB 会自行为适配器分配 WinUSB 驱动程序,不再需要 Zadig(Zadig 仍然可用,请参阅改用 Zadig)。
安装 A2DPWB
每个发布版本提供两种形式,内含文件相同:
- 安装程序(
A2DPWB-<version>-win64-setup.exe):无需管理员权限即可为当前用户安装,添加“开始”菜单项(A2DP Windows Bridge)和卸载程序;如果缺少 Microsoft Edge WebView2 Runtime,还会一并安装(Windows 11 已自带)。更新可在应用内自动安装(设置 > 更新 > 立即更新) - 便携版(
A2DPWB-<version>-win64-portable.zip):解压到任意位置,运行a2dpwb.exe即可。请将三个程序(a2dpwb.exe、a2dpwb-core.exe、a2dpwb-driver.exe)放在一起。便携版只会提示有可用更新;它需要已安装 WebView2 Runtime
两者都将设置、配置文件、链接密钥和固件保存在 %APPDATA%\A2DPWB 中,因此可以在两者之间切换。卸载时该文件夹会保留。
从 v1 升级
直接在 v1 上运行 v2 的安装程序即可。如果 v1 正在运行,安装程序会请你关闭它,然后卸载 v1 并保留设置文件夹:配置文件、与耳机的配对以及固件文件都会沿用,耳机无需重新配对。已通过 Zadig 设置为 WinUSB 的适配器会保持 WinUSB。如果之前开启了随 Windows 启动,现在启动的将是 v2。
v2 首次启动时,会先将 v1 的设置复制到 %APPDATA%\A2DPWB\backup-v1\,然后再读取。
第 1 步:首次运行设置
插入 USB Bluetooth 适配器并启动 A2DPWB。如果还没有任何配置文件,或者没有任何适配器使用 WinUSB,A2DPWB 会打开设置 A2DPWB,共四步:
- 选择适配器:列出找到的 USB Bluetooth 适配器。如果没有你的适配器,请插入后单击刷新
- 驱动程序和固件:分配 WinUSB(请参阅第 2 步),Realtek 适配器还需要固件文件(请参阅固件)
- 查找耳机:让耳机进入配对模式,单击扫描设备,选择耳机,然后单击创建配置文件(请参阅第 3 步)
- 测试:选择要传输的内容(电脑的全部音频、虚拟设备或某个应用),单击连接,然后在电脑上播放任意内容。如果能在耳机里听到,设置就完成了
稍后设置会跳过剩余步骤;设置 > 运行设置向导可再次打开它。
第 2 步:为适配器分配 WinUSB
A2DPWB 通过 WinUSB(Windows 自带的通用 USB 驱动程序)直接与 USB Bluetooth 适配器通信。你需要一个专用适配器——内置 Bluetooth 仍可照常用于 Windows 的普通 Bluetooth 功能。
- 打开适配器页面(或设置向导中的驱动程序和固件步骤)
- 适配器的驱动程序显示为 Windows Bluetooth(或其他驱动程序 / 无驱动程序)。单击分配 WinUSB
- 阅读确认信息后继续:Windows 会请求管理员权限(UAC)
- 驱动程序现在显示为 WinUSB(由 A2DPWB 使用)
分配 WinUSB 期间,Windows 自带的 Bluetooth 将不再识别该适配器:通过它与 Windows 配对的设备在恢复驱动程序之前都无法使用。键盘、鼠标等普通外设请使用内置 Bluetooth,并且切勿为 PC 的内置 Bluetooth 适配器分配 WinUSB。
同一页面上的恢复驱动程序会将适配器交还给 Windows:Windows 会重新为其选择自己的驱动程序(通常是其 Bluetooth 驱动程序),适配器即可配合 Windows 的 Bluetooth 使用。在重新分配 WinUSB 之前,A2DPWB 无法通过它串流。卸载程序也会提供同样的操作:如果 A2DPWB 为适配器分配了 WinUSB,它会询问是否将其交还给 Windows(只请求一次管理员权限)。更新时以及静默卸载(/S)时会保留 WinUSB。
改用 Zadig
使用 Zadig 安装的 WinUSB 驱动程序同样可用:
- 打开 Zadig,选择 Options > List All Devices
- 从下拉列表中选择你的 USB Bluetooth 适配器
- 选择 WinUSB 作为目标驱动,然后单击 Replace Driver
在设备管理器中手动操作
如果 A2DPWB 的列表中没有该适配器、适配器页面上的按钮失败,或者你的适配器与同类适配器表现不同,可以在 Windows 的设备管理器(右键单击开始 > 设备管理器)中手动完成同样的操作。两者都需要管理员权限。菜单名称可能因 Windows 版本而略有不同。
分配 WinUSB
- 找到适配器:通常在 Bluetooth 下,显示其自身名称(例如“TP-Link Bluetooth USB Adapter”);如果其驱动程序启动失败,会带有黄色标记。查看 > 依连接排序设备有助于将它与电脑内置的 Bluetooth 区分开(请勿改动内置的 Bluetooth)
- 右键单击 > 更新驱动程序 > 浏览我的电脑以查找驱动程序 > 让我从计算机上的可用驱动程序列表中选取
- 如果 Windows 询问设备类型,请选择通用串行总线设备。取消勾选显示兼容硬件,选择厂商 WinUsb 设备 和型号 WinUsb 设备,单击下一页并确认警告
- 适配器现在显示在通用串行总线设备下,名为 WinUsb 设备。重新启动 A2DPWB(或重新打开适配器页面),即可像使用 Zadig 时一样使用它
恢复原来的驱动程序
- 在通用串行总线设备下右键单击该适配器(WinUsb 设备)> 卸载设备。如果 WinUSB 驱动程序来自 Zadig,还要勾选尝试删除此设备的驱动程序,否则 Windows 会再次选择 Zadig 的驱动程序
- 拔出适配器并重新插入(或 操作 > 扫描检测硬件改动)。Windows 会安装自己的驱动程序,适配器会出现在 Bluetooth 下
- 如果它在那里带有黄色标记(驱动程序启动失败,例如代码 31),说明厂商的驱动程序不适用于它:右键单击 > 更新驱动程序 > 浏览我的电脑以查找驱动程序 > 让我从计算机上的可用驱动程序列表中选取 > 通用蓝牙适配器;或者按上面的步骤重新分配 WinUSB,以便在 A2DPWB 中使用
第 3 步:查找耳机
扫描设备(在设置向导和配置文件编辑器中)会通过 USB 适配器查找附近的设备,持续约 10 秒。请先让耳机进入配对模式。A2DPWB 之前配对过的设备会标记为已配对。
如果扫描找不到耳机,请在手动:下输入 Bluetooth 地址并单击使用。输入或粘贴的地址会自动格式化:AA:BB:CC:DD:EE:FF、aa-bb-cc-dd-ee-ff、AABBCCDDEEFF 和 AA BB CC DD EE FF 都会变为 AA:BB:CC:DD:EE:FF。
通过 Windows 设置(如果耳机曾与 PC 的内置 Bluetooth 配对):
- 打开 设置 > 蓝牙和其他设备
- 单击你的音频设备
- 单击 属性
- 即可看到 Bluetooth 地址(格式:
AA:BB:CC:DD:EE:FF)
通过命令行(请先退出 A2DPWB:托盘 > 退出):
a2dpwb-core.exe --cli --scan
新配置文件的编解码器默认为自动,捕获源默认为系统音频;默认值即可获得最佳音质。其他内容请参阅使用方法。
固件(Realtek 适配器)
基于 Realtek 的 USB Bluetooth 适配器(如 TP-Link UB500、RTL8761BU 适配器)需要专有固件才能工作。CSR 适配器无需固件。Intel 和 Broadcom 适配器(实验性)可能需要各自的固件文件:请参阅推荐适配器。
在应用中(下载引导)
适配器页面(以及设置向导的驱动程序和固件步骤)会显示适配器的固件状态:固件正常、无需固件文件,或未找到固件并列出所需的文件名。使用打开下载页面按钮在浏览器中打开 linux-firmware/rtl_bt 页面,然后使用打开配置文件夹打开目标文件夹。下载所需的 .bin 文件并放入该配置文件夹。
A2DPWB 会检测适配器的芯片组,并显示需要哪些固件文件。
Bluetooth 芯片设置
适配器页面上的 Bluetooth 芯片列表决定 A2DPWB 是否对适配器执行 Realtek 初始化(上传固件):
| 选项 | 含义 |
|---|---|
| 自动(默认) | 每次启动 A2DPWB 时根据检测到的适配器决定。已知的 Realtek 适配器会使用对应的芯片;其他适配器不执行 Realtek 初始化 |
| 非 Realtek | 从不执行 Realtek 初始化。如果“自动”无法识别你的适配器,Intel、Broadcom、CSR 等适配器请选择此项 |
| RTL8761BU、RTL8822CU…… | 指定的 Realtek 芯片。用于“自动”无法识别的 Realtek 适配器(使用自有 VID:PID 的 OEM 产品)。状态行会显示其 .bin 文件是否已在配置文件夹中 |
| Custom | 使用配置文件夹中的 custom_fw.bin 和 custom_config.bin |
不要为非 Realtek 适配器选择 Realtek 芯片或 Custom:A2DPWB 会尝试向其上传 Realtek 固件,适配器可能因此无法启动。
手动下载
- 从 linux-firmware/rtl_bt 下载与芯片组对应的固件和配置
.bin文件(如rtl8761bu_fw.bin和rtl8761bu_config.bin) - 将这两个文件放入 A2DPWB 配置文件夹(
%APPDATA%\A2DPWB,也可在设置 > 设置文件夹中找到)
这些固件文件是通过 linux-firmware 项目分发的 Realtek 专有二进制文件,未包含在本仓库中。再分发条款请参阅 WHENCE。
推荐适配器
| 芯片组 | 产品示例 | 说明 |
|---|---|---|
| Realtek | TP-Link UB500、RTL8761BU | 需要下载固件(见上文)。测试最充分 |
| CSR | 通用 CSR8510 适配器 | 开箱即用,无需固件 |
| Broadcom | ASUS BT400 (BCM20702) | 实验性。 报告厂商类 FF/01/01 而非 Bluetooth 类 E0/01/01 的适配器(BCM20702 OEM 适配器)也能被检测到。使用 ROM 固件运行;如果配置文件夹中有可选的 PatchRAM .hcd 文件(如 BCM20702A1-0b05-17cb.hcd),会在启动时上传 |
| Intel | Intel 8265 / 9260 / AX200 / AX201 | 实验性。 处于 bootloader 模式时(如冷启动后),需要将 linux-firmware intel/ 中对应的 ibt-*.sfi + ibt-*.ddc 放入配置文件夹。尚不支持 AX210 及更新型号(TLV bootloader) |
| MediaTek、Qualcomm | MT7921/MT7922、QCA61x4 | 不支持:需要 A2DPWB 所没有的固件加载程序 |
对于 LDAC 等高比特率编解码器,USB Bluetooth 5.0+ 适配器通常效果最好。
如果有多个适配器使用 WinUSB,A2DPWB 会使用找到的第一个。请只为 A2DPWB 所用的适配器保留 WinUSB。