The Implementation of A2DP Sink in Android 4.4

A2DP Sink was not supported in Android 4.4. We implemented this feature which can be applied in the scenarios below.

You can get the code from https://android-review.googlesource.com/#/c/98161/. We tested the solution on Nexus 5. Our solution includes 3 modules: Bluetooth Stack, SBC Decoder and Audio System which is dependent on the device. If you want to integrate this
solution, maybe you have to port Audio System module on your phone. For example, Xperia phone‘s Audio System is different from Nexus 5, so we had to adapt our code in Audio System for Xperia phone.

If you are interested in A2DP Sink and need support, welcome to discuss with me.

时间: 2024-08-24 19:52:54

The Implementation of A2DP Sink in Android 4.4的相关文章

A2DP Sink, AVRCP Controller and HFP Client in Android L

The APIs of A2DP sink, AVRCP controller and HFP client are not published in Android L, but the code which implements the  profiles  is indeed in Android L. You can set the configuration for the car to build the code. Where is the code? A2DP sink /fra

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

一直以来,Android对于蓝牙的支持都很混乱,简直可以说是一坨shit.各个版本的协议栈都不一样,最早用的是bluez,进入4.x时代之后,换成了谷歌自己的bluedroid.换就换吧,至少等做完了再用吧,结果4.2.4.3.4.4的bluedroid全都不一样.这就对我等非专业蓝牙开发人员开发蓝牙制造了巨大的麻烦. 好了,吐槽到此为止,该说正事了.因为公司在做智能家居项目,需要在Android上实现蓝牙A2dp Sink的profile,这样我们的设备就能当蓝牙音箱来用了.我们是用的平台是全

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

在Android中,蓝牙系统的结构如下图所示: 在这个体系结构中,从下往上依次是模块驱动.蓝牙协议栈.Bluetooth.apk.Framework和各种蓝牙应用.其中,内核中的驱动是直接和硬件打交道的,一般由模块厂商提供.Android层中,最下面的是处理具体蓝牙协议的协议栈,里面包含了蓝牙各种profile的具体实现,Bluetooth.apk是蓝牙协议栈和framework之间的纽带,使用jni接口沟通了用java实现的framework和c实现的协议栈,并且实现了状态机来控制各种prof

Android Bluetooth Stack: Bluedroid(五):The analysis of A2DP Source

1. A2DP Introduction The Advanced Audio Distribution Profile (A2DP) defines the protocols and procedures that realize distribution of audio content of high-quality in mono or stereo on ACL channels. As indicated in the diagram of 'Protocol Model', A2

Android Bluetooth Stack: Bluedroid(五岁以下儿童):The analysis of A2DP Source

1. A2DP Introduction The Advanced Audio Distribution Profile (A2DP) defines the protocols and procedures that realize distribution of audio content of high-quality in mono or stereo on ACL channels. As indicated in the diagram of 'Protocol Model', A2

Android蓝牙A2dp profile的使用

A2dp profile是android支持的一种蓝牙情景模式,一般用于蓝牙立体声耳机,即蓝牙音频的输出 在android的app层中,A2dp的使用并不是很开放,api只提供了非常少的操作接口,连基本的连接都只能用反射来调用底层的方法.a2dp的使用是通过BluetoothA2dp这个代理类来控制A2dp服务的,这里简单举例使用的方法: private BluetoothAdapter mBluetooth = BluetoothAdapter.getDefaultAdapter(); mBl

Android Bluetooth模块学习笔记

一.蓝牙基础知识 1.蓝牙( Bluetooth )是一种无线技术标准,可实现固定设备.移动设备和楼宇个人域网之间的短距离数据交换.蓝牙基于设备低成本的收发器芯片,传输距离近.低功耗. 2.微波频段:使用2.402GGHz到2.480GHz(包括防护频带)的ISM波段的UHF无线电波 3.蓝牙使用跳频技术,将传输的数据分割成数据包,通过79个指定的蓝牙频道分别传输数据包.每个频道的频宽为1MHz. 4.蓝牙是基于数据包.有着主从架构的协议.一个主设备至多可和同一微微网中的七个从设备通讯.所有设备

android L BLE Peripheral牛刀小试

知道Android L对蓝牙对了一些改进,包括添加A2dp sink.HFP client.BLE Peripheral功能等等. 我花了一天多时间对Android L BLE Peripheral SDK进行了研究,网上的资料很少,有一个介绍的还不够清晰,所以就自己写了一个测试应用,希望可以对理解BLE Peripheral有一定的帮助. 此贴主要以讲解代码为主,我会把项目代码也传到CSDN中,帮助大家测试. 首先说明一点,并不是Android L的系统就可以支持BLE Peripheral,

android 从源码分析为什么Listview初次显示时没滚动却自动调用onScroll方法的原因

我们做Listview的分批加载时,需要为Listview调用setOnScrollListener(具体代码可见我上一篇博客) 可是,我们会发现,当运行程序时,listview明明没有滚动,那为什么系统会调用onScroll方法呢?(补充:此时onScrollStateChanged并不会调用) 我们先看setOnScrollListener源码: public void setOnScrollListener(OnScrollListener l) { mOnScrollListener =