Windows 10 包含蓝牙堆栈,可以毫无问题地识别大多数蓝牙棒。但是,虽然 Windows 支持 A2DP,但它不充当接收器,因此您无法将音频从 Android 传输到计算机,而这正是我想要的。
我的 BT Stick 制造商不提供任何 Windows 10 驱动程序,因为 Microsoft 提供此驱动程序。我尝试了较旧的软件,它可以充当 A2DP 接收器,但它存在内存泄漏,在长时间听音乐后会导致我的 PC 崩溃,这种情况基本上每天都在发生(我一边编程/工作一边听音乐)。(基本上,我可以在听音乐时看到非池化内核内存每秒增加一次,并且可以通过停止音乐来使其停止)
所以我的问题是,是否有任何其他的通用驱动程序可以用来充当接收器以在我的电脑上接收来自手机的音频?
答案1
结论
如果你运行的是 Windows 10 2004 或更新版本(你应该运行),请下载并运行优秀的开源程序音频播放连接器一切就绪。
官方GIF:
2020-05-29:
微软在 Windows 10 2004 版本中重新添加了 A2DP 接收器支持。
在 Windows 10 预览版的代码库中,再次发现了对蓝牙 A2DP Sink 功能的引用,这表明该功能正在卷土重来。
https://www.windowslatest.com/2020/01/26/windows-10-a2dp-sink-bluetooth-support/
然而,虽然 Windows 10 BT 驱动程序确实实现了 A2DP Sink 协议,但您仍然需要一个应用程序来明确打开与设备的连接。如果没有上述应用程序,尽管设备在声音控制面板中可能显示为“就绪”,但设备的音频将不会传输到您的 PC。
2021-06-19:
这个答案最初推荐了一个UWP应用程序 -蓝牙音频接收器打开连接。但是它有几个问题 - 特别是其窗口必须保持打开状态,不能最小化到通知区域。 也是非开源, 和仅可从 Microsoft Store 购买。
每@mishamosher的建议(谢谢),我现在推荐音频播放连接器经过余承东@ysc3839。它是开源的,而且非常简约。它还具有与设置应用程序更熟悉的外观和感觉,在我看来这很好。
成功建立连接后,您的 A2DP 源设备应显示某种蓝牙状态。以下是 Android 的示例:
答案2
似乎微软自 Windows 8 以来就禁用了 A2DP 接收功能,或者它不再起作用了。
您可以尝试使用蓝牙卡/芯片制造商提供的软件下载并更新音频驱动程序。
如果这没有帮助,您可以用第三方产品替换 Microsoft Bluetooth Stack,例如:
- BlueSoleil 蓝牙协议栈 (27.99 美元)
- 东芝蓝牙堆栈(适用于正确的硬件)
- WIDCOMM/Broadcom 蓝牙软件(适用于正确的硬件)
[编辑]
总结一下我们的讨论:
- Broadcom 驱动程序具有 A2DP 接收器,但存在严重的内存泄漏(过去十年一直存在这种情况),而
- 微软的 A2DP 接收器功能无法使用。
所以我能想到的唯一选择是:
- 尝试 BlueSoleil,如果它能解决问题并且免费版本限制太多,则购买。
每当出现速度减慢的情况时,禁用/启用网络适配器,希望这将重新初始化内存。这可以通过以管理员身份运行的脚本来完成:
netsh interface set interface "network adapter name" admin=disable
netsh interface set interface "network adapter name" admin=enable
使用非 Broadcom 卡替换您的网络适配器。
答案3
当然,不是每个人都适用,但可用:
- 在 VirtualBox 中使用 Linux 并捕获蓝牙设备。我在 Win 10 和 Intel BT 上安装了 Kubuntu 16.04 作为客户机,此设置有效。(或者使用旧的 Win 7 作为客户机。它具有此 A2DP 接收器功能。但我没有测试过。我使用 Kubuntu,因为我在 Win 主机上工作时使用它。)在“系统设置 - 蓝牙”中配对后,它“自动”工作。
答案4
我使用售价 3.50 英镑的 ebay 加密狗时遇到了这个问题,但我丢失了它的驱动程序 CD。正如其他人所说,Windows 10 默认驱动程序不支持 A2DP 接收模式。
CSR 4.0 蓝牙 Harmony 软件堆栈为我解决了这个问题。