当前位置: 首页 > news >正文

杰理 AC696N 开发分享 —— 自定义更改提示音

摘要

本文基于杰理 AC696N 蓝牙音箱 SDK,分步详解自定义提示音完整操作流程,包含音频文件存放、配置工具绑定、底层代码修改与播放调用,每一步搭配文档内对应界面截图,步骤细致,适合蓝牙音频开发工程师实操参考。

一、准备自定义音频文件

1. 定位提示音存放文件夹

SDK 路径:ac696n_soundbox_sdk_v1.7.0_patch01_dev_board_v0.0.2\cpu\br25\tools\soundbox\standard\extra_tones操作说明:打开 standard 文件夹,找到extra_tones目录,原厂开机、蓝牙连接、模式切换音效全部存放于此。自定义音效文件统一放入该文件夹。

2. 音频文件规范要求

  1. 文件命名仅使用英文,禁用中文、特殊符号;
  2. 支持 MP3(高音质推荐)、WTG(低音质)两种格式;
  3. 将处理好的音频粘贴至extra_tones,记住文件名,后续代码配置需完全对应。

二、配置工具添加绑定提示音

1. 打开配置工具并连接设备

在 standard 目录启动配置工具,串口选择 CH340 对应 COM 口,波特率固定 115200,点击刷新串口、打开设备建立通信。

2. 进入提示音配置页面添加音效

  1. 顶部选项卡切换至【提示音配置】;
  2. 点击底部【添加提示音】,选中extra_tones内自定义音频,工具自动填充文件路径;
  3. 支持单条添加、批量添加,选中条目可点击播放试听音效;
  4. 全部配置完成后点击界面保存,工具端配置完成。

三、SDK 底层代码修改(核心步骤)

步骤 1:tone_player.h 新增枚举与资源路径

文件路径:soundbox/include/tone_player.h

  1. 在 enum 音效枚举末尾新增自定义音效 ID,例:IDEX_TONE_WATER,
  2. 下方宏定义区域新增音频路径宏,文件名与音频文件保持一致:#define TONE_WATER TONE_RES_ROOT_PATH"tone/water.*"

步骤 2:tone_table.c 绑定 ID 与音频资源

文件路径:soundbox/common/tone_table.c找到tone_table[]映射数组,仿照原有格式新增一行映射关系,关联枚举 ID 与音频文件:[IDEX_TONE_WATER] = TONE_RES_ROOT_PATH"tone/water.*",

步骤 3:业务代码调用播放接口

代码修改编译完成后,在 bt.c、app_main.c 等业务文件中调用播放函数,即可触发自定义提示音:tone_play(tone_table[IDEX_TONE_WATER], 1);第二个参数 1 代表单次播放,可按需调整播放逻辑。

总结

自定义提示音分三大阶段:音频素材放入指定目录、配置工具可视化绑定音效、SDK 头文件与映射表代码配置,最后调用播放函数即可使用。全程沿用原厂代码格式仿写,上手简单,适配 AC696N 蓝牙音箱项目开发。

http://www.jsqmd.com/news/1146862/

相关文章:

  • 大规模AI推理生产环境避坑指南:来自Workato、Hippocratic AI、ISMG的工程实战
  • 如何用Sunshine搭建你的私人云游戏服务器:从零开始的完整指南
  • 多相机同步控制的原理和方法
  • Kaggle OTTO 多目标推荐系统:Top3方案核心特征工程与模型融合策略解析
  • Sunshine游戏串流服务器:3步实战构建你的私有云游戏平台
  • 当人工智能的时代的到来,写代码编的轻松简单,程序员还有用吗
  • 工程供应商管理软件如何选型,规范供方准入与结算对账风险
  • 【Java毕业设计】基于 SpringBoot 的实验室课程实训管理系统的设计与实现 基于前后端分离的高校实验室设备教学管理系统(源码+文档+远程调试,全bao定制等)
  • PaddlePaddle 2.5 实战:4层BP神经网络MNIST识别,测试集准确率达98%
  • OceanBase Lakebase 架构解析:独立部署与智能叠加层模式的技术实践
  • 基于PIC18F45K22与EPT-14A4005P的高可靠性警报系统设计
  • Java计算机毕设之基于 SpringBoot 的水果电商订单管理系统的设计与实现 基于 SpringBoot 的攀枝花助农水果销售平台(完整前后端代码+说明文档+LW,调试定制等)
  • 高速脉冲向导实现伺服电机绝对位置控制的方法与实践
  • Java毕业设计-基于 SpringBoot+Vue 的攀枝花水果在线销售系统的设计与实现 基于 SpringBoot 的攀枝花特色水果电商平台(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • OpenClaw:Windows本地化技能编排引擎实战指南
  • 2026年7月,南京庭院驱蚊系统怎么装才不白花钱?夏天高温效果差,后悔没早知道
  • 基于WSEN-ISDS和MK64FN1M0VDC12的三轴运动跟踪系统设计
  • 【计算机Java毕业设计案例】基于 SpringBoot 的旧书回收售卖管理系统的设计与实现 基于前后端分离的书籍闲置资源共享交易系统(程序+文档+讲解+定制)
  • 服装库存周转优化程序,SPA小批量上新逻辑算法,降低滞销库存占用资金。
  • 基于 OSG + Qt 的相机状态机设计:六视图与 Fit 动画实现
  • 抖音无水印视频下载终极指南:5步轻松保存高清原片
  • 2024长文本提示词压缩全攻略
  • 报名投票想一站式?这款投票系统报名+投票全流程搞定
  • h5 增加绿色 vConsole 按钮
  • 我的电视:原生Android电视直播软件终极指南
  • 计算机毕业设计之基于Web的图书馆管理系统
  • 告别臃肿控制中心:如何用5MB工具让华硕笔记本性能翻倍?
  • 高压与低压系统互联的挑战与TLP2770光耦解决方案
  • 抖音批量下载终极指南:3分钟学会免费获取无水印视频完整教程
  • 为什么你的声音不能直接飞上天?