In the Windows Mobile 5.0 audio gateway implementation there are a couple of control codes to turn on audio routing through the bluetooth headset/handsfree device. I’ve only tried this with a couple of devices and had mixed (That’s a really bad audio pun sorry!) results but here’s a library to allow you to try it yourself. In theory it may work on some 2003 Second Edition devices too. I’d be interested to hear your feedback.
To set audio routing just call
InTheHand.Net.Handsfree.AudioGateway.RouteAudioToHandsfree = true;
And set to false to return to normal audio use.
Once fully tested and documented this will make it into the 32Feet package.InTheHand.Net.Handsfree.zip (2.54 KB)
3 replies on “Divert system audio to a Bluetooth headset”
I found that the routing worked on an XDA Atom running 2005, however did not work with iPaq6500. I suspect that it did not work with the iPaq because it is using Broadcom bluetooth stack.
I found that the microphone level was very low, in that when I recorded hands free, the audio level was very low. Is there a way to increase the level before it gets to my app?
I just tried this on my imate SP5 and it didn’t work. The headset did beep to alert me that audio was coming, but then the audio played out of my phone speaker. I have AKU2 installed, would that cause this not to work? Here is what I am doing:
AudioGatway.RouteAudioToHandsfree = true;
SoundPlayer sp = new SoundPlayer(@"Test.wav");
AudioGatway.RouteAudioToHandsfree = false;
Ok, I’m an idiot. I wasn’t thinking about the fact that the audio was playing asynchronously. I used sp.PlaySync() and it worked great.