获取蓝牙耳机 UWP C++ 的延迟

Get Latency of Bluetooth Headphoners UWP C++

我想确保考虑到我的应用程序和蓝牙耳机之间的延迟,但我完全不知道如何获得此值。我发现的最接近的是: BluetoothLEPreferredConnectionParameters.ConnectionLatency 仅在 Windows 11 可用...否则就没什么可继续的了。

如有任何帮助,我们将不胜感激。

谢谢, 彼得

很难获得准确的延迟时间,因为它受到许多参数的影响 - 但是通过猜测连接参数是这个等式的一个因素,您就走在了正确的轨道上。我对UWP了解不多,但我可以给你一般影响speed/latency的参数,然后你可以在API查看它们的可用性,甚至联系Windows技术团队看看这些是否受支持。

当您与远程设备建立连接时,以下因素会影响连接的 speed/latency:-

  • 连接间隔:这指定了在连接期间发送数据包的间隔。值越低,速度越高。根据蓝牙规范,最小值为 7.5 毫秒。
  • Slave Latency:这是您最初提到的值 - 它指定在连接被视为丢失之前可以丢失的数据包数。值为 0 表示您拥有最快最可靠的连接。
  • Connection PHY:这是发送数据包的调制方式。如果两个设备都支持 2MPHY,那么连接应该会更快。
  • Data Length/MTU Extension:这是两个独立的功能,但我将它们循环在一起,因为效果是一样的——每个数据包发送更多字节,结果在更高的吞吐量。最大值为每个数据包 251 字节。

您可以在此处找到有关这些参数的更多信息:-

下面是一些其他链接,可以帮助您了解 UWP 支持的内容:-