码迷,mamicode.com
首页 > 移动开发 > 详细

在Android4.2中实现bluetooth A2dp Sink(一)——移植Android5.0蓝牙协议栈

时间:2015-01-24 14:32:39      阅读:766      评论:0      收藏:0      [点我收藏+]

标签:android   蓝牙   a2dp sink   

    一直以来,Android对于蓝牙的支持都很混乱,简直可以说是一坨shit。各个版本的协议栈都不一样,最早用的是bluez,进入4.x时代之后,换成了谷歌自己的bluedroid。换就换吧,至少等做完了再用吧,结果4.2、4.3、4.4的bluedroid全都不一样。这就对我等非专业蓝牙开发人员开发蓝牙制造了巨大的麻烦。

    好了,吐槽到此为止,该说正事了。因为公司在做智能家居项目,需要在Android上实现蓝牙A2dp Sink的profile,这样我们的设备就能当蓝牙音箱来用了。我们是用的平台是全至A20,蓝牙模块是博通的一款bt+wifi的集成模块,sdk的版本是Android4.2。据我们了解,Android4.x的官方sdk中蓝牙A2dp只实现了source,也就是只能作为播放音乐的源,将音频数据传出去。博通自己有支持蓝牙A2dp Sink的协议栈,但是只支持Android4.4的。Realtek在Android4.2的协议栈上实现了A2dp Sink,但是受制于我们已经生产出去的版本都是使用的博通的模块,realtek这条路只能死心了。正当我们五路可走的时候,好消息来了,Android5.0发布了,而且“据说”是已经实现了A2dp Sink。好吧,那就移植吧。

    我会将整个的移植分为如下几个部分进行描述:

    1、Android中蓝牙音频系统基础知识;

    2、移植蓝牙协议栈;

    3、实现蓝牙音频播放;

在Android4.2中实现bluetooth A2dp Sink(一)——移植Android5.0蓝牙协议栈

标签:android   蓝牙   a2dp sink   

原文地址:http://blog.csdn.net/wtianok/article/details/43057367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!