• 正文
  • 相关推荐
申请入驻 产业图谱

杰理AC6966B蓝牙音频方案开发进阶:在开发智能音响方案时获取歌曲信息与连接优化

9小时前
232
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

引言

做杰理蓝牙音频系列芯片开发的工程师都清楚,不管是基于杰理AC696N开发板、杰理AC6965E开发TWS音箱方案,还是各类蓝牙音箱、耳机IoT设备开发,基础蓝牙播放功能只是标配,想要产品更具差异化,精准获取蓝牙播放歌曲信息、优化TWS连接配对体验是核心加分项。杰理AC6966B芯片自带完善的A2DP、AVCTP蓝牙协议栈,无需复杂自研,简单配置回调即可实现歌曲元数据抓取与连接提速,下面给大家整理一套实操性极强的开发配置步骤。

一、蓝牙歌曲信息获取(AVCTP协议配置)

JL杰理AC6966B/AC696N蓝牙协议栈原生支持AVCTP协议,可直接抓取手机端蓝牙播放的歌曲元数据,包含歌名、歌手、专辑、曲风、播放时长、实时播放进度等核心信息,适配绝大多数蓝牙音箱、耳机产品的智能显示需求,具体配置步骤如下:

1. 基础宏配置开启:在工程 lib_media_config.c 文件中,将参数 more_avctp_cmd_support 置1,同时确认ID3解码相关宏已正常开启,这是解析歌曲元数据的前置基础,未开启将无法获取完整音乐信息。

//检查以下宏是否定义
#define TCFG_DEC_ID3_V1_ENABLE                ENABLE
#define TCFG_DEC_ID3_V2_ENABLE                ENABLE

2. 信息回调函数注册:在 bredr_handle_register() 协议栈注册函数中,添加歌曲信息回调注册接口 bt_music_info_handle_register(user_get_bt_music_info),绑定自定义信息处理回调。

////获取歌曲信息回调
bt_music_info_handle_register(user_get_bt_music_info);

3. 元数据业务处理:在自定义回调函数user_get_bt_music_info 中,可直接解析、存储和上报各类歌曲信息,包含歌曲标题、艺术家、专辑、流派、总播放时长等静态元数据,适配屏幕显示、语音播报、信息同步等功能场景。

4. 动态播放进度获取:静态歌曲信息无需主动触发,设备连接播放后自动回调更新;若需要实时播放进度(当前播放时间、剩余时长),只需在程序中定时发送 USER_CTRL_AVCTP_OPID_GET_PLAY_TIME 指令,即可动态刷新播放进度数据,适配进度条同步、播放状态监控等需求。

void user_get_bt_music_info(u8 type, u32 time, u8 *info, u16 len)
{
    //profile define type: 1-title 2-artist name 3-album names 4-track number 5-total number of tracks 6-genre  7-playing time
    //JL define 0x10-total time , 0x11 current play position
    u8  min, sec;
    printf("type %d\n", type );
    if ((info != NULL) && (len != 0)) {
        printf(" %s \n", info);
    }
    if (time != 0) {
        min = time / 1000 / 60;
        sec = time / 1000 - (min * 60);
        printf(" time %d %d\n ", min, sec);
    }
}

二、TWS蓝牙连接速度优化方案

在杰理AC6965E开发TWS音箱方案、便携式蓝牙音频设备开发中,用户最直观的体验痛点就是配对慢、回连延迟高。AC6966B芯片可通过调整蓝牙空闲时隙参数,快速优化TWS配对、断连回连速度,适配量产产品迭代,具体优化方式如下:

1. 核心参数调整:调用官方API函数 set_idle_period_slot(),修改蓝牙空闲状态时隙配置。芯片默认参数为1600(对应约1秒空闲间隔),空闲时隙偏大是连接延迟高的主要原因。

2. 最优参数配置:将参数下调至200及以下,可大幅缩短蓝牙空闲检测间隔,显著提升TWS双耳配对、设备首次连接、断连快速回连的速度。

3. 取舍适配说明:该优化方案存在轻微功耗损耗,适合对续航功耗不敏感的桌面音箱、户外大音量蓝牙音箱产品;穿戴类低功耗耳机可根据产品功耗指标,折中调整参数,平衡连接速度与续航。

总结

以上两套方案是杰理蓝牙音频系列芯片开发中高频实用的进阶优化点,适配AC6966B、AC6965E等主流型号。通过简单的宏配置、回调注册即可实现AVCTP歌曲全量信息获取,让设备实现智能化音乐信息展示;通过空闲时隙参数微调,低成本解决TWS蓝牙连接卡顿、延迟问题。整体配置无需改动底层协议栈,开发门槛低、稳定性高,非常适合嵌入式软硬件工程师快速落地到蓝牙音箱、TWS耳机、IoT音频设备的量产项目中。

相关推荐