蓝牙学习
文章平均质量分 92
七七&小鱼
如果有一天你发现日子特别艰难,那可能是这次的收获特别巨大
展开
-
AudioRecord工作流程(蓝牙a2dp的状态下)
由于要实现a2dp的sink功能。所以大致看了下af和aps的结构。以下是学习摘要。在看文章前,我们先来看下AudioFlinger和AudioPolicyService这两个东西,AudioFlinger是具体干活的,包括后者调用的具体处理;AudioPolicyService则主要进行输入输出设备通道选择策略的处理。那么android设备是如何得知当前设备各种情景下有哪些设备可用呢?在audio原创 2015-07-24 20:32:18 · 4385 阅读 · 0 评论 -
蓝牙A2DP的初始化过程
当我们要使用A2dp这个profile的时候,首先A2DPService的start()函数会被触发: protected boolean start() { mStateMachine = A2dpStateMachine.make(this, this); mAvrcp = Avrcp.make(this); setA2dpServ原创 2015-07-21 16:55:48 · 6245 阅读 · 0 评论 -
安卓蓝牙开启流程
我们先借用下网上的一张框架图,以便于一目了然的观察android蓝牙的大致结构。首先,我们来看在起蓝牙service的初始化过程中,所做的一些事情,这些事情跟我们下面要讲的开启蓝牙过程有关联。我们可以看到在AdapterService(位于packages/apps/bluetooth/btservice)的onCreate函数中,有个initNative()函数,该函数对应JNI(com_andr原创 2015-07-16 20:18:44 · 3069 阅读 · 0 评论