我正在尝试在cyanogenmod源代码中找到一个位置,在这里,在通话过程中从免提接收到的声音在将其定向到电话线之前被解码。我需要你的帮助。
据我所知,SCO传输用于在HFP中承载语音数据,SCO本身使用HCI。所以我试着在内核的net/bluetooth_mgmt/hci_core.c中挂接hci_recv_frame函数,但似乎在调用过程中没有使用它。
到bluedroid架构概述的链接也很受欢迎。
更新
据我所知,bluedroid在内核中没有任何部分。这就是我的修改不起作用的原因。
但我仍然需要在源代码中(在用户空间库中?)找到一个地方,在那里声音数据在从Bt接收之后但在发送到电话线之前可以被截获。
发布于 2017-02-18 16:14:58
据我所知,在很多蓝牙控制器芯片中,SCO链路数据不是通过HCI接口传输的。大多数这些芯片都有专用的音频接口(如PCM/I2S等)。并通过该接口将SCO数据发送到主机。然后,主机接收SCO音频数据并在其音频子系统中对其进行处理。您可以参考Android音频系统相关的源文件,如音频管理器/音频策略/音频HAL。
https://stackoverflow.com/questions/20466572
复制相似问题