2010-04-18 34 views
4

我有以下設置的系統: 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
我用:音頻路由到藍牙免提設備

  • 的Windows CE 6.0 R3
  • 微軟藍牙堆棧,包括所有配置文件
  • Motorola H500
  • 音頻網關服務啓動並運行(通過services listcmd中檢查)
  • GSM模塊功能正常 - 我可以設置撥出電話和接聽電話。
  • 藍牙是功能 - A2DP規範播放音樂摩托羅拉耳機(不記得模型現在)

我想使用耳機設備保持一個對話。我已將所有藍牙組件包含在目錄中。

我使用我寫的應用程序與設備配對。連接完成後,我將設備地址和耳機配置文件的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堆棧。因此,我現在試圖看看如何通過PCM接口告訴BT芯片爲特定SCO連接路由音頻。

所以我的問題如下:

  1. 我靠在相信我不需要BTScoSnd和AudioGateway驅動程序,但我不知道。有人能證實這一點嗎?
  2. 如何在Windows CE下發送BT控制器特定命令的固件?

回答

2

終於解決了......

別的不說我做錯了,我設置的蜂窩模塊與錯誤的PCM接口(它在這些2)工作。所以現在我有一個耳機連接可以工作(嘈雜,但工作)。

最後,我有AG運行和BTScoSnd驅動程序運行。我與耳機配對,BTScoSnd驅動程序創建與設備的SCO鏈接。然後給蜂窩模塊命令,將所有音頻轉移到正確的 PCM接口上,然後在耳機中同時接入音頻輸入和音頻輸出。所有鏈路處理都由BT控制器(基於BluetoothCore4 CSR的芯片)完成,該控制器默認配置爲將SCO連接路由到PCM接口,而不通過HCI層。

AG根據耳機和Hands-free profile specifications需要。

我還需要將固件設置爲正確的配置。爲此,我使用了Linux的BCCMD工具。使用Windows CE驅動程序通過HCI執行此操作需要很長時間才能實現。

相關問題