Android 蓝牙HFP通话源码分析 --- HFP打开audio硬件模块(二)

同学,别退出呀,我可是全网最牛逼的 Android 蓝牙分析博主,我写了上百篇蓝牙文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。

上文我们分析到:当HFP SLC服务水平连接完成后,发出广播:

BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED

那么谁来接收这个广播的呢?

一、设置当前device为active state

/packages/apps/Bluetooth/src/com/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
耳机配置文件(HFP)的初始化主要通过四个模块实现:btif(Bluetooth Interface)、bta(Bluetooth Application)、btm(Bluetooth Manager)和hci(HCI,Host Controller Interface)。 首先,通过Bluetooth Interface(btif)模块接收用户指定启用耳机以及设备之间的连接请求。btif模块负责处理事件,例如应用层指令和连接状态通知。在HFP初始化过程中,btif模块会与bta模块进行通信。 接下来,Bluetooth Application(bta)模块会根据用户指定的连接请求进行相关设置和初始化。bta模块主要负责连接请求的建立、管理和通信。在HFP初始化过程中,bta模块会与Bluetooth Manager(btm)模块进行通信。 在Bluetooth Manager(btm)模块中,会首先进行适配器的初始化,包括管理器和底层适配器。然后,通过btm模块与Host Controller Interface(hci)模块进行通信。HCI模块用于和芯片进行通信,完成连接的建立。HCI模块芯片之间的通信协议包括命令和事件。 最后,在HCI模块的基础上,通过芯片实现连接,即通过无线通信方式与耳机进行音频传输。这样,Android设备就成功地初始化了耳机的HFP配置。 整个过程可以总结为:用户启用耳机后,系统通过btif模块接收到连接请求,然后通过bta模块进行处理,进一步与btm模块和hci模块通信,最终通过hci模块芯片建立连接。通过这些步骤,Android设备与耳机实现了HFP初始化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识分享小达人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值