自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Android蓝牙AVRCP相关异常问题定位分析

准备从get play status入手,蓝牙协议avrcp 指令 get play status 会获取到3个参数,一个是歌曲时长,当前播放位置时间,还有播放状态,只需要将这三个信息通过jni callback给到蓝牙service,更新给应用即可解决这两个问题,准备修改,然后翻了下蓝牙协议栈感觉get paly status,只是一个备选的指令,甚至并没有处理get play status中播放状态的逻辑,既然取到了这个参数,重新加个callback即可,获取时间也更改为1s每次,修改验证后问题解决。

2024-07-11 13:42:32 532

原创 蓝牙 ble连接流程及ellisys空包分析

蓝牙service中在开启蓝牙时会读取(android 12之前在package/app/bluetooth/res/value/config.xml,13在package/modules下)中的协议配置文件,去开启对应的协议service,ble对应gatt,强制启用,源码流程中配置关闭gatt蓝牙启动不了,开启蓝牙仍然是btsnoop中下发一个hci_reset。ADV_SCAN_IND:扫描请求广播,获取对方更多数据,对应scn rsp。选择扫描到的可连接广播,创建连接,蓝牙协议5.4。

2024-04-30 11:16:45 1736

原创 蓝牙协议官方文档HFP v1.8 核心内容翻译解析

HFP:蓝牙免提协议,整个文档主要定义了实现HFP的设备应使用的协议和实现步骤。这类设备最常见的例子是与手机一起使用的车载免提设备,或可穿戴无线耳机。协议定义了支持HFP的两个设备如何点对点交互。HFP通常使用于耳机,或嵌入式免提设备无线连接,手机用来作为音频输入和输出的基础,通过HFP实现典型的电话功能控制,但不操作实际的手机通话。音频网关的作用是用于输入和输出。作为音频网关的典型设备是手机作为音频网关的远程音频输入和输出机制的设备。同时还具有远程控制AG端的能力。

2023-08-24 13:46:22 4157 2

原创 车载端蓝牙AVRCP获取音乐信息btsnoop 分析

车载设备开发,软件娱乐系统,离不开蓝牙,对蓝牙稳定性要求也越来越高,对于车载使用蓝牙音乐的功能,主要有以下这些,通过AVRCP控制歌曲暂停、播放、上一曲、下一曲,同步手机端歌曲信息 进度、作者、歌词、播放状态、音量同步等。车载端 Android会通过get play status 每秒去获取手机端播放状态和进度,如果不去每秒get play status,则会出现2-3s跳进度条问题

2023-04-11 16:34:20 1747

原创 蓝牙btsnoop log,HFP协议连接流程详解,以及RFCOMM连接和常用AT指令

HFP(Hands-Free):蓝牙免提协议,两个角色AG,HF端,AG端通常是手机设备,HF免提端一般为耳机车载等,hfp的连接首先要进行SDP,然后建立RFCOMM,然后SLC连接完成,HFP正式建立成功。SABM, UA, DM和 DISC是底层的控制帧,RFCOMM使用信道,每个信道有一个数据连接链路标识(DLCI),UIH帧上的 DLCI = 0时用作发送控制信息, DLCI≠0时用作发送数据。常用AT指令介绍

2023-02-23 14:36:31 5609 5

原创 蓝牙AVRCP从连接到控制信令的交互详解,以及绝对音量介绍

AVRCP信令交互详解,绝对音量介绍,绝对音量开关切换可能会出现的异常情况:例如在绝对音量支持的情况下调节耳机端音量为10%,此时关闭绝对音量,耳机端仍然保持10%的音量,此时调节手机端音量,将不会去设绝对音量,最大值将会是100%手机*10%耳机,相比于100%手机*100%耳机,将出现声音特别小调节无效的问题。支持绝对音量耳机端声音更加精细化。

2023-01-11 16:39:16 5238 1

原创 从btsnoop log 讲解A2DP从发起SDP开始到音频流建立完成

A2DP两个角色,audio sink ,audio source,手机做audio source,播放设备做sink端,手机做source端,主要讲解整个A2DP在BTSNOOP log中完整的连接流程

2022-12-16 14:31:50 1860 8

原创 C++ 算术四则运算

C++算术四则运算,随机数种子,除法整除,减法第一位大,统计所答题目各个运算正确率,输入一个非int字符退出随机答题并统计当前正确率,没有详细写注释,应该还有未知bug未解,能跑起来就可以了,哈哈!

2022-12-15 11:24:14 1457

原创 蓝牙btsnoop log,hci 连接流程详解

1.HCI(HOST CONTROLLER INTERFACE):主机控制层接口 从字面意思不难理解,是沟通host和controller的接口,每个蓝牙设备都由host和controller组成,host为蓝牙协议栈,controller为厂商封装好的固件,host通过hci下发command给controller,controller返回固件自身信息或从远端controller接收到的信息通过event上报给host,两个设备之间的controller数据交互则为工作中常说的空中包,需要借

2022-12-06 14:36:29 4847 2

原创 蓝牙基本概念

蓝牙版本迭代较快,网上查找蓝牙相关书籍基本都很老,大概百度百度查了些资料整理了下1.工作信道蓝牙工作于2.4~2.48GHz ISM 频段传统蓝牙(BR/EDR)跳频信道数:79个,每个信道带宽为1MHz 2402-2480低功耗蓝牙使用40个通道,有37个通道(称为通用通道,general purpose channels)可在连接通信时使用,其它三个信道用来广播,广播信道:37、38、39,对应的中心频率是2402MHz,2426MHz,2480MHz。广播信道之间相差至少24MHz。每次广播都会在3个

2022-12-05 15:17:02 6065

原创 wifi不回连,Bssid被加黑

wifi热点不回连,出现bssid被加黑问题解决

2022-12-05 10:10:56 661 1

C++算术四则运算,随机数种子,除法整除,减法第一位大,统计所答题目各个运算正确率

C++算术四则运算,随机数种子,除法整除,减法第一位大,统计所答题目各个运算正确率,输入一个非int字符退出随机答题并统计当前正确率

2022-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除