我有一个具有以下设置的系统:
Bluetooth connected to GSM module using the PCM lines and GSM module connected to the AC97 codec using analog lines http://www.freeimagehosting.net/uploads/4a0c9bc0b2.png
我用:
services list
中的cmd
进行检查)我想使用耳机设备进行对话。我已将所有蓝牙组件都包含在目录中。
我使用我编写的应用程序与设备配对。建立连接后,我将设备地址和耳机配置文件的GUID存储在[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\AudioGateway\Device\1]
中,以便AG
能够知道它已连接设备。
我还将[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\AudioGateway\MapAudioToPcmMode]
设置为0
,以便BTD.dll
知道不会取得SCO连接的所有权。
在我的BT芯片(Wi2Wi)中,它表示PCM使用SCO连接,但不是常规的HCI堆栈。所以我现在正试图看看如何告诉BT芯片通过PCM接口为某个SCO连接路由音频。
所以我的问题如下:
答案 0 :(得分:2)
终于解决了......
除其他事情我做错了,我设置蜂窝模块使用错误的PCM接口(它有2个)。所以现在我有一个可以工作的耳机连接(嘈杂,但有效)。
最后,我启动了AG并运行了BTScoSnd驱动程序。我与耳机配对,BTScoSnd驱动程序与设备创建SCO链接。然后我给蜂窝模块命令将所有音频转移到正确的 PCM接口,然后我在耳机中同时输入音频和输出音频。所有链路处理均由BT控制器(基于BluetoothCore4 CSR的芯片)完成,该控制器默认配置为将SCO连接路由到PCM接口而不通过HCI层。
根据耳机和Hands-free profile specifications需要AG。
我还需要将固件设置为正确的配置。为此,我使用了Linux的BCCMD
工具。使用Windows CE驱动程序通过HCI执行此操作需要很长时间才能实现。