Skip to content

FreeBuds 7 适配与验证 ​

FreeBuds 7 使用独立的 HUAWEI_FREEBUDS7 路由,不与 FreeBuds 7i 混用。本适配基于官方智慧音频操作的协议采集,以及 HuaweiPods 在同一手机和耳机上的写入、状态回读与界面验证。

已接入能力 ​

能力模块支持实机验证
身份、图片、电量协议型号识别、手动型号选择、官方配色图片、左右耳与充电盒电量模块、融合设备中心与系统详情页显示;出入盒充电标记变化
噪声控制通透 / 降噪 / 关闭;智慧动态 / 轻度 / 均衡三档降噪模块和融合卡片逐项切换并回读;系统详情页原生三节点滑条点击、拖动与高亮一致
空间音频关闭 / 固定 / 头部跟踪模块及融合卡片逐项写入并回读
智慧设置自适应音量、头动控制、掉落提醒、单耳降噪、音频连接自动切换各开关往返写入并回读
音频与佩戴设置高清音质、低时延、佩戴检测、充电盒提示音各开关往返写入并回读;高清音质切换可能短暂重连
双击与滑动双击播放/暂停、滑动音量的启用/禁用,左右耳联动各设置往返写入并回读
捏合单捏播放/暂停、双捏下一曲、三捏上一曲的启用/禁用各设置往返写入并回读
左右三击分别选择下一曲、上一曲或无动作左右耳分别切换上一曲、下一曲并回读;无动作有官方捕获依据
音效均衡、人声、低音、古典、电影、播客、游戏、运动八种均有官方 TX/RX;模块实测古典与均衡切换,其余未逐项复测
自定义均衡器10 段、±6 dB;使用已有 HuaweiPods 自定义槽 0x64第一频段 +1 dB 保存、回读并在智慧音频确认;测试预设已删除

上述验证指配置写入、设备状态回读和相应界面显示,不等同于主观音质、实际降噪强度、真实手势触发、通话或长期稳定性验收。

关键协议差异 ​

项目FreeBuds 7 协议约定
产品身份000174,实测配色 00,产品代号 ZAB1
ANC2B04 写入,2B2A 回读;智慧动态 3、轻度 1、均衡 0,无深度档
普通通透耳机回读子模式 2;系统设置模板显示码转换为 0200
空间音频2BB4 feature 18;关闭 0、固定 2、头部跟踪 1
智慧功能2BB4 feature 02 / 0B / 07 / 05
连接自动切换2B2E / 2B2F,不代表双设备列表管理
高清音质2BA2 / 2BA3,可能与空间音频互斥;模块切换后刷新关联状态
低时延 / 佩戴 / 盒提示音2B6C / 2B10,11 / 2BB1,均解析已验证的状态回复
双击 / 滑动 / 三击011F,20 / 2B1E,1F / 0125,26
媒体捏合2B92,93,slot 0/1/2,context 02
EQ2B49,4A;自定义保存 operation 01,每协议单位 0.2 dB;古典使用捕获到的专用曲线

HuaweiFreeBuds7Controller 将写入和状态查询放在同一 RFCOMM 会话中,等待匹配功能的状态;初始握手、ACK 和其他功能通知不能充当成功。未收到匹配状态时再查询一次。设置解析器校验帧长度、CRC、完整 TLV、功能编号及手势上下文。未获取到的状态保持未知。

系统集成 ​

融合设备中心 ​

卡片展示官方图片、三路电量、噪声模式、三档降噪、空间音频、原生音量及更多设置。空间命令携带设备地址与型号,经蓝牙进程会话校验后执行,仅将已确认的设备状态发送回对应卡片。

空间音频的 pending 仅用于 5 秒内重复写入去重,不过滤设备回读。设置失败后,即使回读值与请求值不同,也立即清除 pending、恢复设备实际状态并刷新卡片,允许用户马上重试;切换设备或重置会话时清空状态。

MiLink 的空间音频显示编号为关闭 0、固定 1、跟踪 2;运行时跟踪编号为 11。两者与华为协议分开转换,不复用 FreeClip 2 的旧显示顺序。legacy 宿主异步回调覆盖降噪高亮时,根据已确认状态重新同步原生按钮,并在 UI 同步作用域内拦截重复写入。宿主已有独立音量百分比时,不再在标题中重复附加。

legacy ANC 刷新检查按钮实际的 isSelected,已选中时跳过监听器重放,避免每 2.5 秒轮询引发一次点击震动。异步宿主回调导致实际高亮不符时仍执行纠正,不以模块上次渲染缓存代替当前视图状态。

系统蓝牙详情页 ​

从“更多设置”进入的页面复用原生 MiuiHeadsetAncAdjustView,通过 setPointCount(3) 和状态映射提供自适应、轻度、均衡三个节点。保留原生绘制、监听器和触感反馈,移除第四档及额外自定义按钮,重新对齐标签。通透和关闭模式收起档位区域,不展示不支持的人声增强子选项。

升级模块后,应使用模块的“重启作用域”操作或重启手机。MiLink 含 :ui 等子进程,仅重启主进程可能继续显示旧卡片。

验证环境与复测 ​

2026-10-06 实测环境:

  • 小米 23116PN5BC / shennong,Android 16,HyperOS OS3.0,LSPosed 2.2.1。
  • FreeBuds 7,HarmonyOS 6.1.0.202(F003H003C00)。
  • 华为智慧音频 2.0.7.321;MiLink 17.2.6.0.2609011721。
  • 真机使用本地 debug 签名构建;未发布正式签名 Release。

自动化覆盖包括独立身份路由、三档 ANC、空间编码、设置读写 fixture、CRC/截断/噪声/ACK 拒绝、握手后状态、EQ 曲线和左右三击回读,以及原生显示映射。2026-10-07 补充失败回读与 pending 生命周期回归后,500 个单元测试通过,0 失败/错误/跳过;Lint、Debug 和 Release 构建通过。

2026-10-07 PR 修复复测(同一手机及耳机,debug 构建 b1791342622260-debug):

  • 真实设备:空间音频固定、头部跟踪、关闭,以及 ANC 降噪、通透、关闭均完成点击、设备回读与高亮核对;结束后恢复本轮初始 ANC 关闭、空间音频关闭。
  • 震动:修复前系统震动历史记录到 MiLink 约每 2.5 秒触发一次;修复后卡片静置 49 秒,无新增 MiLink 震动记录,后续 ANC 切换高亮正常。
  • 受控回读:短暂暂停蓝牙进程处理,11:14:17.628 点击固定,11:14:18.032 MiLink 接受注入的原状态(头部跟踪),11:14:18.341 前再次点击固定。恢复进程后记录到两次实际固定模式写入,证明原状态清除了 pending,5 秒内允许重试。截图保持原状态高亮。这是手机上的受控广播测试,不代表耳机真实拒绝写入的端到端失败场景;后者尚未稳定复现。

提交前使用与上游 CI 相同的检查命令:

sh
./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleRelease

复测入口:

  1. 启用模块作用域并连接耳机,检查名称、图片和三路电量。
  2. 在模块详情页检查设置状态、写入后回读及关联状态刷新。
  3. 在融合卡片逐项切换 ANC 和空间模式,检查设备回读与高亮。
    • 失败回读回归:设置未生效且耳机在 5 秒内回报原模式时,卡片应立即显示原模式,同一目标模式可立即重试。已覆盖状态单元测试与上述手机受控回读测试。
  4. 从更多设置进入系统详情,点击并拖动三个 ANC 节点;切换通透/关闭后确认档位区域收起。
  5. 结束后恢复原设置,只删除本次测试创建的 EQ 预设。

原始抓包、逐步截图和设备日志仅保留在本地忽略目录,不随源码提交。可复现的脱敏协议帧保留在单元测试中。

尚未覆盖 ​

长按/按住动作与降噪循环组合、通话手势、语音/AI/录音控制、开盒提示音 feature 10、双设备列表管理和多自定义 EQ 预设管理未接入,仍由官方应用设置。

超级岛、开盒弹窗、深色模式、其他手机/固件/系统组件版本,以及长期重连未完成独立验收。未执行固件升级、重置、取消配对或查找响铃。

MiLink 接入位置参考 OppoPods(提交 c201e251e68b59d46b6bc2758146b2c7f13ca2a1);FreeBuds 7 控制与读回基于本机协议采集,在 HuaweiPods 现有结构内实现。

第三方开源项目,与华为、小米及其关联公司无隶属或合作关系。