3 ms·
If all you're doing is pairing headphones, sure. Developing anything at all against the windows Bluetooth stack is abject misery. It's fundamentally broken. Man
by evoke4908 2y ago
If all you're doing is pairing headphones, sure. Developing anything at all against the windows Bluetooth stack is abject misery. It's fundamentally broken. Many API calls are not implemented or just don't work. Several just return wrong data. Core features of Bluetooth like custom advertising data are simply not exposed in any way.
My favorite: if your program is listening for devices in the background, the windows Bluetooth pairing menu breaks. Specifically the devices you're listening for will never show up about 50% of the time. If they do, it's likely that pairing will fail with no indication or reason.
Additionally, windows 10 does not support simultaneous audio sink and source. You absolutely cannot ever have your phone stream audio to your computer and then the computer pipe it back out to your BT headphones. I'm not sure if windows actually supports audio sink at all apart from HFP (phone call audio). Windows 7 supported this. All linuxes also have had this for over a decade.
At work, Microsoft forcibly updated one of our testing machines to W11, and there was nothing at all I could do to make it see our BT device. They are completely bog standard SPP serial devices using BT classic/EDR. Both of which have been a standard part of the BT spec since before W10 was even considered.
Windows' Bluetooth stack is an atrocity and an embarrassment. It's outrageously broken and incomplete. It is hands down, no contest the single worst Bluetooth implementation of any OS since windows 7. When linux has better Bluetooth than you, you've really fucked up.