我正在尝试在cyanogenmod源代码中找到一个位置,其中在呼叫期间从免提接收的声音在将其指向电话线之前被解码。我需要帮助。
据我所知,SCO传输用于在HFP中传输语音数据,而SCO本身使用HCI。所以我试图在内核中的net / bluetooth_mgmt / hci_core.c中挂钩hci_recv_frame函数,但似乎在调用期间没有使用它。
赞赏bluedroid架构概述的链接。
我明白,bluedroid在内核中没有任何部分。这就是为什么我的修改不起作用。
但是我仍然需要在源代码中找到一个位置(在用户空间库中?),在收到Bt之后但在发送到电话线之前可以拦截声音数据。
答案 0 :(得分:0)
据我所知,SCO链接数据不是通过许多蓝牙控制器芯片中的HCI接口传输的。这些芯片中的大多数都有专用的音频接口(如PCM / I2S等),SCO数据将通过接口发送给主机。主机然后接收SCO音频数据并在其音频子系统中处理它们。您可以参考Android音频系统相关的源文件,如音频管理器/音频策略/音频HAL。