KDocs 研发资料库
  • 音频技术应用文档入口汇总
  • 杰理WINDOWS环境安装及其他事项
  • LINUX安装和编译
  • Linux环境编译SDK教程(ubuntu18.04)
  • 音频类补丁汇总表
  • 认证资料获取汇总(最新资料后台会更新)
  • 《Hi-Res申请指南v1.0》
  • FreeRTOS 开源协议版本
  • uCOS 开源协议版本信息
  • 各个模块关键资料汇总
  • 软件调试方法
  • Makefile编译
  • 提bug的规范
  • 常规设备使用指导
  • 对外特别发布开发注意点信息汇总
  • AD697X软件问题整理
  • AC700N软件问题整理
  • AC701X耳机软件问题整理
  • 951&961软件问题整理
  • AC104X软件问题整理
  • AC128N问题整理文档
  • 可视化工具调试问题整理
  • 耳机资料汇总
  • AC704N、 AC705N相关应用
  • AC695N&AC696N&AC608N音箱问题整理
  • JL701N音箱问题整理
  • AC692X软件问题整理
  • AC706N音箱问题整理
  • JL701N音箱问题整理(可视化工具SDK)
  • JL703N音箱问题整理
  • JL709N(JL689N)音箱问题整理
  • JL7094系列-入门到进阶开发指导
  • AC210N音箱问题整理
  • 无线麦系列版本支持指南
  • AW32N无线麦问题整理
  • lAD697X&JL701X 无线麦软件共性问题整理
  • AC706N无线麦问题整理
  • AW36N无线麦问题整理
  • AC710X无线麦问题整理
  • 唤醒源获取及唤醒IO设置
  • 电源
  • LVD
  • 长按复位配置方法
  • 低功耗应用
  • TIMER
  • UART
  • SPI
  • 内部FLASH空间添加用户自定义区域
  • IIC
  • GPIO
  • MCPWM
  • SD&U盘
  • 时钟&晶振
  • GPCNT
  • IO口crossbar映射功能
  • 文件系统使用总结
  • 复用应用
  • LINEIN_AUX相关应用
  • IIS音频接口应用
  • SPDIF模式相关(HDMI_ARC、光纤、同轴)
  • PDM LINK
  • 外设相关应用
  • 蓝牙相关
  • 杰理蓝牙距离调试文档
  • TWS耳机配对方式使用及生产把控指南
  • GFP谷歌快连及其认证流程指引
  • 蓝牙发射器(bt_emitter)相关
  • BLE应用
  • 关于提升BLE传输速率说明
  • BLE测试数据
  • MUSIC 模式相关应用
  • MIDI音乐实现
  • PC相关应用
  • FM相关应用
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20250107
  • fm应用详细设计说明书
  • 杰理FM硬件指南-20230315
  • ADC模块
  • AUDIO相关应用
  • 新Tools的音效调试使用
  • 混响应用使用说明
  • 音效调式
  • 音箱耳机低音小音量增强实现方法
  • DAC输出功率调试
  • DAC性能测试指南
  • 针对各类底噪、电流声分析流程
  • 录音相关应用
  • OPUS编解码相关
  • RTC相关应用
  • 升级相关
  • UI相关应用
  • 通话调试流程指南
  • 通话相关应用
  • 省电容mic使用手册
  • 如何测试验证手表通话系统的语音失真 V1.0
  • AC695X_AC696X_AD697X 常见通话问题处理参考资料
  • 通话调试问题确定步骤
  • 内置触摸调试指南
  • 低功耗内置触摸介绍V2.2
  • 触摸相关文档
  • AC697X、AC698X内置触摸调试及整改方法V1.0
  • 产测相关应用
  • AC63X BLE DUT测试介绍
  • 兆华序列使用简易说明
  • JL_1T2蓝牙测试盒音频文件更换说明
  • ENC相关应用入口汇总
  • ANC相关应用入口汇总
  • JL DMS通话调试手册-V3.9.4
  • ANC-ENC结构设计要点-20240407
  • 半入耳式ANC耳机器件选型与结构设计指南V1.0
  • JL 耳道自适应调试指南
  • ANC相关问题处理
  • ANC调试文档
  • 评估蓝牙耳机通话上行降噪性能的方法 V1.0 (2)
  • FCC 或者 BQB 认证相关应用
  • BQB profile 测试中常遇到的问题点汇总
  • 蓝牙参数整理20210811
  • 杰理科技认证问题参考
  • 无线音频产品开发指南
  • 无线麦系列从入门到进阶开发指导
  • 量产烧录相关说明
  • 一拖八烧录器远程过程调用说明
  • 量产相关建议
  • EffectTool(eq)调试工具说明文档
  • AC897AD697系列的EQ调试方法-V3
  • 杰理调音指南-20220622
  • 音效模块总结
  • 简要调音步骤指引(可视化)
  • 耳机充电与通信调试指南
  • 充电仓硬件调试指南
  • 充电仓软件问题整理
  • AC951常用说明
  • AC951_AC961_开发板使用说明V1.0
  • 彩屏仓AC982 入门指导及FAQ
  • 蓝牙音频APP相关应用
  • 手机APP的简介和开发流程
  • 蓝牙音频系列-硬件设计指南
  • 静电测试及整改方法-20220706
  • TWS耳机底噪整改指南V1.2
  • 杰理蓝牙距离调试文档
  • 蓝牙RF硬件设计与调试V1.1-20250219
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20241228
  • 音效调试指南
  • 无线话筒K歌音箱标准开发流程
  • 杰理科技 700N TWS耳机产品标准-202303
  • 杰理科技 701N 广播产品标准-202303
  • JL-HAT ANC高效产测自适应
  • 无线话筒测试板使用介绍
  • 一拖八频偏校准使用说明
  • 领夹麦产测工具使用介绍
  • Dongle量产测试说明
  • Dongle+Tws或头戴式 SDK通过工具绑定配对功能说明文档
  • 双麦ENC产测宏配置验证方法 V1.0
  • JL耳机方案麦克风声学测试指令_V1.0
  • JL耳机方案麦克风声学测试指令_V2.0
  • JL_ENC自动测试命令_V0.0.1
  • JL蓝牙测试盒用例说明
  • LDAC自测环境搭建_ubuntu
  • 延迟小板使用手册
  • 杰理库文件的制作及添加实现过程
  • 关于 AC635N&AC636N系列免晶振兼容性补丁 说明
  • 关于 AC63系列VM兼容性修复补丁_20250224 说明
  • 关于 AC632N &AE632N_ 蓝牙& 低功耗兼容性修复补丁 说明
  • AD698N和AC638N电压优化补丁V3说明
  • 关于 AC635N&AC636N漏电和E&G版兼容联合补丁 说明
  • AD698N和AC638N电压优化补丁V2说明
  • 702相关应用
  • 2024-4-30 发布歌词显示SDK开发注意事项
  • BQB RF & FCC 认证测试固件问题汇总及源码
  • BQB profile 测试中常遇到的问题点汇总
  • 进dut测试模式方法及固件
  • 704-频偏修改bin文件合集
  • 701手表BQB PROFILE认证注意事项
  • 认证的干扰规避整改
  • 海外CRA认证报告生成说明
  • JL700N可视化工具问题处理文档
  • JL701X可视化工具问题处理文档
  • JL701N_earphone_release_v1.6.0_ANC 低功耗问题补丁
  • JL708X可视化工具问题处理文档
  • JL709N可视化工具问题处理文档
  • JLstudio可视化工具使用说明
  • 一拖二-串口_蓝牙_app在线EQ、通话参数及调试方式和内置触摸调试
  • 可视化JL701M_DONGLE_SDK添加MIC为发射源
  • 可视化JL701M_DONGLE_SDK添加按键切换usb audio与MIC发射源
  • JL701M_DONGLE_SDK_1.0.0_dongle输入linein输出dac
  • 701可视化_a2dp_to_le_demo说明
  • 耳机系列demo汇总
  • JL7018F&JL7006F_7003F AUX IIS
  • 一键连接应用
  • 普通SDK动态开关一拖二功能
  • 蓝牙分析仪(EllisysBluetoothAnalyzer)抓包例程
  • TWS配对常见应用
  • APP自定义按键的demo
  • AC700N 播歌双EQ DEMO示例及说明
  • AC698V164 MIC与蓝牙音乐共同输出DAC demo
  • 添加第三方算法以及多算法授权流程
  • 空间音频配置方法
  • 普通高低电平TWS耳机控制通讯
  • 入耳检测状态更新demo解析
  • 资源优化(非可视化的SDK)
  • 资源优化(可视化SDK)
  • 翻译耳机、语音识别应用demo
  • 耳机抗干扰问题排查和优化
  • AC698D2 抗干扰优化
  • AC696X软件问题整理
  • AC695X软件问题整理
  • AC695X软件问题整理_1722249702
  • AC608X软件问题整理
  • JL701N_2T1_DUPLEX 应用软件问题汇总
  • le_audio_1.0.0_patch05 以及之前的版本IRkey 功能异常修改
  • AC706N-le_audio-200SDK有线_无线麦录音demo
  • jl701n_le_audio_v200patch02 IO串口升级修改串口单次发送字节长度的修改办法
  • 703创建IIS 输入dac输出音频流demo
  • 703将媒体流音频同时上传PC_mic录音demo实现
  • 703四路IIS输入输出demo
  • 底噪调试
  • AW328A烧录说明
  • 文档合集
  • AC706N_wireless_mic_release_PATCH_20240712 补丁 说明
  • AC706N_wireless_mic_release_PATCH_20240726 补丁 说明
  • AC706N_wireless_mic_release_V1.0.0、1.0.1、1.0.2 补丁 说明
  • AC706N_wireless_mic_release_V1.1.2 中的2T1应用 RX端不绑定配对,TX端实现绑定配对的修改方法
  • 各系列省晶振实现方法
  • iis tx rx说明文档
  • spdif信号
  • 蓝牙电话本
  • 安卓手机同步时间补丁
  • CDC配置
  • PC模式下增加Teams唤起功能
  • 杰理HDMIARC开发实现过程
  • AC701N patch06之前的版本用第三方算法节点实现新版本的pcm delay节点功能
  • (K歌音箱)各SDK音效配置相关说明
  • 长文件录音
  • 点阵屏歌词字库相关(蓝牙歌词,普通歌词)
  • 字模提取工具说明
  • 音箱可视化彩屏-入门到进阶开发指导
  • 彩屏LVGL UI设计及工具使用
  • 使用内部UI框架进行UI调试的系列步骤
  • AD101C使用强制升级工具spi 烧录不了问题处理(测试版本)
  • AD161扩展灯板说明文档
  • 歌词显示器开发注意项
  • 使用硬件数字增益控制通话下行音量(可视化)
  • 杰理小牛产测资料
  • ENC配置说明
  • 通话调试流程指引
  • ANC相关功能demo
  • 无线麦硬件资料汇总
  • 无线麦相关应用
  • 无线麦复杂功能补丁包汇总
  • 无线话筒形态SDK程序&开发经验&问题点分享
  • 双模式结合应用问题汇总
  • 无线麦距离优化案例
  • 无线麦系列中的双工形态(duplex)演变开发对讲机方案开发资料
  • 音箱入门到进阶指导文档(编写中)
  • 蓝牙耳机品控和生产技巧
  • 982过_欠压标志获取异常
  • 如何获取最新涂鸦SDK及库文件
  • 无线话筒K歌音响-调音标准流程
  • 无线话筒产测流程

JL701N音箱问题整理(可视化工具SDK)

📎 原始文档:https://www.kdocs.cn/l/cslMCM6laHl9 JL701N音箱问题整理(可视化工具SDK)
前言:本文档整理将以各个SDK遇到的共性问题做整理汇总,可直接根据所使用的sdk版本及功能快速索引相关问题点

  1. 开发注意点

OTA问题处理

分支:bugfix_2.0.0_ota
https://gitlab.zh-jieli.com/JL-Studio/Leaudio/701N/jl701n_le_audio_2.0.0/-/tree/bugfix_2.0.0_ota

  1. JL701N 可视化工具 版本SDK,控制 RF pa 接口 ,更换控制IO 映射的接口被更换,使用传统SDK接口无法修改PA 控制IO问题处理 701非可视化SDK :void bt_rf_PA_ontrol_io_remap(u16 tx_io, u16 rx_io); 使用的是该接口
    701可视化SDK版本:void bt_set_rxtx_status_io(u32 tx_pin, u32 rx_pin);用这个接口,可视化版本SDK函数名换了
  2. JL701N le audio 中添加Bass Treble节点,其中Cur Gain参数在开机之后不起作用
  • 开发时BassTreble节点是给旋钮使用的,并不是给到音频流去固定音效使用的。如果是给音频流固定音效可以使用eq去调音。
  • 在每个任务流开始之后更新Cur Gain才能使该参数生效
    • 在case STREAM_EVENT_START:中调用接口更新
    • 使用该接口void music_bass_treble_eq_udpate(char *name, enum bass_treble_eff index, float gain);更新
      • name 为节点名称 image eg:
        image
  1. JL701N le audio IIS(主)TX 保持CLK 默认sdk:2.0.0Patch02.14、2.0.0Patch02.15有保持
    保持状态的参数配置如下:
    image

  2. JL701N le audio 供电接的VPWR 升级过程中有可能会触发复位 image 修改方法:替换ota.bin
    OTA-BR28-20251030-关闭长按复位.zip

  3. 共性问题

  4. JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,配置立体声高压二挡差分输出声音无法达到最大值问题解决: 解决办法:增加数字增益最大值限制的初始化。
    image

  5. JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,按键无法同步问题 image 添加以下修改:
    JL701端:(需要重新编译)

image

#if (LEA_CIG_CENTRAL_EN || LEA_CIG_PERIPHERAL_EN)
connected_event_sync
connected_data_transmit
connected_key_sync
#endif

image

enum {
    CONNECTED_EVENT_SYNC_TYPE = 0xA1,
    CONNECTED_KEY_SYNC_TYPE = 0xA2,
    CONNECTED_DATA_TRANSMIT_TYPE = 0xA3,
};

  1. 修改int app_get_message(int *msg, int max_num, const struct key_remap_table *key_table) image

                     y_printf("%s,%d,\n", __func__, __LINE__);
#if ((LEA_CIG_CENTRAL_EN || LEA_CIG_PERIPHERAL_EN)&LEA_CIG_KEY_EVENT_SYNC)
            connected_key_event_sync(key_msg);
#endif

701 TX端

  1. apps\soundbox\connected\connected_sync_call.c添加
int connected_key_event_synct(int key_msg)
{
#if (CONNECTED_KEY_EVENT_SYNC == 0)
    return 0;
#endif

    if (!app_cis_is_connected(CONNECTED_DEVICE_IDENTIFICATION_M | CONNECTED_DEVICE_IDENTIFICATION_L | CONNECTED_DEVICE_IDENTIFICATION_R)) {
        return 0;
    }

    int slen = 0;
    u8 len = sizeof(int) + 1;
    u8 *buffer = zalloc(len);
    u8 device_channel = CONNECTED_DEVICE_IDENTIFICATION_M | CONNECTED_DEVICE_IDENTIFICATION_L | CONNECTED_DEVICE_IDENTIFICATION_R;
    ASSERT(buffer);
    buffer[0] = CONNECTED_KEY_SYNC_TYPE;
    memcpy(buffer + 1, &key_msg, sizeof(int));

    if (buffer) {
        slen = app_connected_send_acl_data(CONNECTED_DEVICE_IDENTIFICATION_M | CONNECTED_DEVICE_IDENTIFICATION_L | CONNECTED_DEVICE_IDENTIFICATION_R,
                                           (void *)buffer, len);
        if (!slen) {
            free(buffer);
            app_task_put_key_msg(key_msg, 0);
        }
    }

    return slen;
}

image


static int connected_tx_key_events_suss(void *data, int len)
{
    u8 *buffer = (u8 *)data;
    int key_msg;
    y_printf("%s,%d,\n", __func__, __LINE__);
    put_buf(data,len);

    if (buffer[0] != CONNECTED_KEY_SYNC_TYPE) {
        return false;
    }
y_printf("%s,%d,\n", __func__, __LINE__);
    memcpy(&key_msg, &buffer[1], sizeof(key_msg));
    app_task_put_key_msg(key_msg, 0);
    free(data);

    return true;
}

3.修改static int connected_rx_key_events_suss(u16 acl_hdl, void *data, int len) 这个函数
image

static int connected_rx_key_events_suss(u16 acl_hdl, void *data, int len)
{


    u8 *buffer = (u8 *)data;
    int key_msg;
    y_printf("%s,%d,\n", __func__, __LINE__);
    put_buf(data,len);
    if (buffer[0] != CONNECTED_KEY_SYNC_TYPE){
        return false;
    }

    memcpy(&key_msg,&buffer[1],sizeof(key_msg));
    app_task_put_key_msg(key_msg,0);

    return true;
}
  1. 修改int app_key_event_remap(struct sys_event *e)
    image
    #if CONNECTED_KEY_EVENT_SYNC
    extern int connected_key_event_synct(int key_msg);
    connected_key_event_synct(msg);
    #endif
  1. JL701N jla_audio 版本SDK,在线调eq增益设定好合并升级开机后声音大小不一致 程序在下图位置切模式过程中会去读取音量大小,并记录到vm区。在蓝牙模式和idle模式下的音量等级并不一致,idle音量等级小。抓log发现关机过程中会切到idle模式去再读取一次音量等级设置并记录于vm区后才关机,导致出现客户在调好eqmic增益合并升级开机后再关机重启出现音量大小不一致。
    可根据项目实际应用进行修改,例如:修改如下,增加一个判断ilde模式下不去重新初始化音量大小。
    image
  2. JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,做广播音箱,从箱无法实现音量同步问题修改 JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,做广播音箱,从箱无法实现音量同步多个问题点修改.otl
  3. JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,TF卡升级 无法维持IO翻转问题 问题点:在工具中配置 升级维持IO使能后,实际不生效
    image 解决办法:增加ini文件 中IO口维持设置
#ifdef CONFIG_UPDATE_JUMP_TO_MASK
SD_LATCH_IO = CONFIG_SD_LATCH_IO   //SD卡升级需要锁住的io,最大限制6个io
#endif

image 6. JL701N 可视化SDK关闭内置充电后,将VPWR口拉高,会导致开机2S后P33_PPINR1_RST复位。 原因:默认打开了VPWR长按复位。
解决方案:P3_PINR_CON1=0;

  1. jl701n_le_audio_v200p02/p0201/p0202 切换模式回 BT 时,不会回连手机. 原因:切换模式进入 BT 时 page list 未初始化
    解决:
    静态 dual_conn_page_devices_init() 改为外部
    image page_mode_active 退出时清 0
    imageimage
  2. jl701n_le_audio_v200p0201/p0202 SD 卡快速插拔进入蓝牙模式死机(1T3 开启后,蓝牙模式进入退出导致的死机) 原因:内存对齐错误,一般出现内存释放后还访问内存导致,死机日志:
    image 解决:
    替换 btstatck.a 库
    https://www.kdocs.cn/l/cqEGKI5m5JXc
  3. jl701n_le_audio_v200patch02 RCSP 单备份升级失败问题 原因:VM大小固定为8K了,需要加大VM
    image
  4. jl701n_le_audio_v200patch02 RCSP 双备份升级失败问题 原因:VM 区大小需要增大,并且升级过程中能正常校验成功,跳转升级后,回连BLE失败,需要根据br28_update 的设备名手动连接上后才能继续升级完成,原因是BLE 的 升级回连需要跑地址加1流程,但是由于流程打开exif 文件失败,所以没有跑地址加1流程。
    解决办法:VM 区大小需要增大 同时修改.ini 文件,让能正常跑打开exif 文件后跑BLE回连地址加1流程
    image

image 11. jl701n_le_audio_v200patch02 RCSP 双备份升级获取固件校验码失败的问题处理 问题点:双备份升级后,用u8 *sdfile_get_burn_code(u8 *len); 接口获取固件校验码失败,结果全为0xff
修改办法:替换下列库文件
update_701_音箱可视化leaudio_JL701N_2.0.0(patch_02)_20250701_支持双备份升级校验码.rar
12. jl701n_le_audio_v200patch02.02 开启彩屏UI后部分IO口(PB4 PB5 PB9)变得不可控制,所有701可视化用到彩屏的都需要打补丁 le_audio-JL701N-2.0.0-JL701N-demo-patch_02.02_修改彩屏UI库里面动到了不该动的IO问题.7z
13. PDM数字麦采样率达不到16K以上 imageimage 修改截止频率随着采样率变化。
14. 开启蓝牙一拖二功能后,关机重启回连没有回连两个手机 修改:
image 15. jl701n_le_audio_v200patch02 打开IO串口升级编译报错和IO串口升级失败问题

  1. 编译报错修改: image 修改如下截图:
    imageimage

  2. 处理完编译报错后,主机给从机升级无法成功,需要替换下面cpu.a库文件,更新适配IO串口升级的串口驱动 cpu_leaudio_JL701N_2.0.0(patch_02)_IO串口升级失败问题.rar
    特殊案例:默认IO串口通信升级时候,单次发送的数据长度为512byte ,需要修改的可以参考一下办法实现。涉及库文件和ota.bin 的修改,暂时仅以jl701n_le_audio_v200patch02 版本为例。
    jl701n_le_audio_v200patch02 IO串口升级修改串口单次发送字节长度的修改办法.otl

  3. jl701n_le_audio_v200(patch_02.02) 与AC706N_wireless_3In1_TX 做三合一功能,话筒连接距离短距离短问题。 修改办法:jl701n_le_audio_v200(patch_02.02) sdk 替换下列的库文件
    btctrler(JL701n_le_audio_2.0.0_patch02.02)_话筒连接距离短.rar

  4. jl701n_le_audio_v200(patch_02.08) 版本sdk 需要在PC mic 增加回音消除算法功能死机问题 死机报错出发断言:
    image 修改办法:需要将全局采样率修改为48K,因为44.1K的回采数据不符合AEC 算法运行的需求。
    同时需要将数据流切换成上行回音消除选项卡
    imageimage

  5. jl701n_le_audio_v200p0209 蓝牙测试盒升级一直显示 PC 超时失败 堆栈溢出死机:
    image 修改:
    image

  6. jl701n_le_audio_v200p0209/p0208 IIS 主机输出停止后存在杂音 方法一:iis 停止后关闭 iis 主机的时钟
    image

  7. jl701n_le_audio_v200p0209/p0208 拿不到U盘T卡的歌词文件 替换以下接口:

LRIF_ADR=AUTO;
LRIF_LEN=0x10000;
LRIF_OPT=1;

image lyrics_api.c:

u32 lrc_fseek(FILE *file, int offset, int orig)
{
    u32 pos = fseek(file, offset, orig);
    return pos;
}

u32 lrc_fread(FILE *file, void *buf, u32 len)
{
    u32 rlen = fread(buf, len, 1, file);
    return rlen;
}

static LRC_FILE_IO lrc_file_io = {
    /* .seek = fseek, */
    /* .read = fread, */

    .seek = lrc_fseek,
    .read = lrc_fread,
};
  1. jl701n_le_audio_v200(patch_02.09) 版本sdk 连706_3ln1无线麦,在音箱端开启变音音效,切换音效会死机 处理方法:
    1、修改copy长度。
    image 2、默认只开PITCHSHIFT模式,需要用到其他模式需自行打开。
    image 3、若只需要PITCHSHIFT模式的音效,可将vc_pitchshift_only置一,步骤1也不需要改。
    image
  2. jl701n_le_audio_v200(patch_02.09) 版本sdk 通话音频流修改为IIS输出后回音消除算法不生效问题解决 DMA 的 len 需要多乘以4
    image
  3. jl701n_le_audio_v200(patch_02.09) 版本sdk 不读U盘的问题处理 替换cpu.a库文件解决:
    cpu_jl701n_le_audio_v200(patch_02.09)_U盘不读问题处理.rar
  4. jl701n_le_audio_v200(patch_02.09) 版本混合录音导致dac卡顿问题处理 替换media.a库文件解决:
    media_jl701n_le_audio_v200(patch_02.09)_混合录音导致卡顿问题.rar
  5. 701-leaudio-2.0.0(patch02)增加频谱获取节点后触发死机断言 问题点描述:增加频谱获取节点后,U盘播歌第一首结束后会触发断言信息 spec255 info unknow
    imageimage 解决办法:更换下面媒体库
    media_701_LEAUDIO_PATCH02_加入频谱节点导致死机问题.7z
    注:701-leaudio-2.0.0(patch02.02)版本,更换上述库播放音频前后会出现PO声,需替换以下媒体库:
    701patch0202频谱死机.zip
  6. jl701n_le_audio_v200(patch_02.09) 使用单端省电容mic会一直复位 原因:可视化701版本的省电容模块功能并没有完善,且没有其他芯片稳定。
    处理方法:由于701较少有客户使用该模式,因此目前不打算更新该模块,建议客户改用单端隔直电容模式。
  7. jl701n_le_audio_v200(patch_02.09) 获取alac、m4a、ape、flac、wav、wma等格式的id3解析信息 image
  8. jl701n_le_audio_v200(patch_02.09) AAC格式音频无法播放 需要同时打开TCFG_DEC_M4A_ENABLE的宏
  9. JL701N_le_audio_2.0.0(Patch02)_release_SDK的DAC差分输出幅值不够,只有1.1V,非可视化SDK正常有1.7V image
  10. JL701N_le_audio_2.0.0(Patch02、02.09) SDK 播歌时进行TWS配对连接并播放打断提示音,主从机会出现播歌不同步,从机延迟一句话左右 处理方法:替换压缩包的四个文件。
    701_TWS不同步问题修改.zip
    Gitlab地址:Files · bugfix_修复TWS连接时播放打断提示音会出现主从不同步的问题 · 自由品牌 / 客户支持 / 可视化SDK / le_audio / JL701Nle_audio_2.0.0 · GitLab
  11. JL701N_le_audio_2.0.0(Patch02.02) SDK SD卡升级异常卡住 处理方法:
  12. 替换ota.bin文件 701_le_audio_200_02.02_修复SD卡升级异常问题.rar
  13. 在isd_config_rule.c文件增加下面这段代码
#ifdef CONFIG_UPDATE_JUMP_TO_MASK
SD_LATCH_IO = CONFIG_SD_LATCH_IO   //SD卡升级需要锁住的io,最大限制6个io
#endif

image Gitlab地址:Files · bugfix_修复SD卡升级异常的问题
32. JL701N_soundbox_1.0.0(Patch02) SDK 关闭HFP和蓝牙后台功能后,在回连手机的途中切换模式导致死机。 死机函数为:l2cap_disconnect_all_channel
处理办法:btstack_JL701N_soundbox_1.0.0(Patch02)关闭HFP回连切模式死机.7z
33. JL701N_le_audio_2.0.0(Patch02.09) SDK 外挂FM开启扫频会异常死机 原因:缺乏设置扫频状态的接口,导致访问异常。
处理方法:按截图增加扫频接口。
imageimage 34. JL701N_le_audio_2.0.0(Patch02.09) SDK 外挂FM无法配置双声道输入 处理方法:

  1. 替换板级配置文件到可视化工具下载路径,重新创建SDK,或直接替换到当前文件的板级配置文件。即可在可视化工具上勾选双声道。

  2. 替换压缩包的其他文件。 【金山文档 | WPS云文档】 外挂FM双声道
    https://kdocs.cn/l/chCwtbZ1iTzB
    Gitlab地址:Files · bugfix_外挂FM双声道输入 · 自由品牌 / 客户支持 / 可视化SDK / le_audio / JL701Nle_audio_2.0.0 · GitLab

  3. JL701N_le_audio_2.0.0(Patch02.12) SDK OTA升级(卡U,无线,UART)后蓝牙配对记录被擦除 处理方法:
    使能支持升级之后保留vm数据。
    image

  4. JL701N_le_audio_2.0.0(Patch02.11) 打开升级维持IO使能后,SD卡升级失败,报错[APP-UPDATE]!!!!!!!!!!!!!!!updata waring !!!!!!!!!!!=0x5a04 处理方法:
    增加下面的代码:

#ifdef CONFIG_UPDATE_JUMP_TO_MASK 
LATCH_IO = CONFIG_SD_LATCH_IO
#endif 

image 37. JL701N_le_audio_2.0.0(Patch02.09) RTC跑内置LRC时钟补丁 gitlab:http://192.168.1.245/freebrand/support/visualization/le_audio/JL701N_le_audio_2.0.0/-/tree/feature_701_leaudio_RTC_LRC
补丁:
可视化701_LEAUDIO_patch02.09_跑内部RTC补丁.7z

  1. JL701N_le_audio_2.0.0(Patch02.14) RTC跑内置LRC时钟补丁 gitlab:http://192.168.1.245/freebrand/support/visualization/le_audio/JL701N_le_audio_2.0.0/-/tree/bugfix_701_P02.14_%E6%97%B6%E9%92%9F%E8%A1%A5%E4%B8%81
    demo:feature_701_leaudio_P0214_RTC.zip
  2. JL701N_le_audio_2.0.0(Patch02.11-02.14) 播放打断提示音或断开TWS后,混响流出现卡顿

处理方法:
更新media.a库,目前仅提供02.12、02.14版本的,其他版本需要请联系我们提供。
修复打断重播或断开TWS后混响卡顿问题.rar
20260326 media.a库迭代:
在原有修改media.a 基础上 修复 JL701N_le_audio_2.0.0(Patch02.11-02.14) 关闭AAC解码使能后,蓝牙sbc播歌在临近超距时出现杂音问题
media_JL710N_leaudio_2.0.0(patch02.14)_修复打断重播混响声音异常问题 与 修复 蓝牙sbc播放在临近超距时出现杂音问题.rar
gitlab:Files · bugfix_修复打断重播混响声音异常问题 · 自由品牌 / 客户支持 / 可视化SDK / le_audio / JL701Nle_audio_2.0.0 · GitLab
20260616 增加02.15版本对应的media.a库:
media--701_le_audio_2.0.0_P02.15.rar

  1. JL701N_le_audio_2.0.0Patch02.14 MAC上看不到刚录的音频文件 MAC系统版本:macOS Tahoe 26.0.1
    T卡/U盘文件系统:exfat
    操作步骤:T卡/U盘插MAC强制拔出之后再在样机上录音,录音完了之后插入MAC没发现刚才录的音频文件
    补丁下地址:fs-MAC上看不到刚录的音频文件.a
    测试demo:
    插设备上电开机进录音模式,按键为PB1,双击为录音/播放录音 长按关机
    demo下载地址:JL701N_le_audio_2.0.0_2025102721.7z
  2. JL701N_le_audio_2.0.0Patch02.14 开启仅保留电量显示进行通话时蓝牙会断连重连 tag: USB
    处理方法:
    更新btctrler.a库
    JL701N_le_audio_2.0.0_patch_02.14-开仅保留电量显示功能通话断连重连问题.zip
    20260807 库更新:
    主要是在上面库基础上,增加处理三合一功能连接上话筒后话筒音频无法传送到RX的问题。
    btctrler_20260505_海华改_701_le_audio_200p214-修改esco应答-Va.zip
  3. JL701N_le_audio_2.0.0Patch02.14 PCMIC跑上行回音消除软回采会卡顿 处理方法:
    1、主频固定最高时钟
    2、采样率固定为48000Hz
    3、播放同步节点延时改为30
    imageimage
  4. JL701N_le_audio_2.0.0Patch02.14 音乐模式拔出U盘后不会退出音乐模式 处理方法:
    添加无有效可播放设备后的处理。
    image
  5. JL701N_le_audio_2.0.0Patch02.14 DAC设置成单声道差分输出,出现异常问题 分支:bugfix_2.0.0_patch_02.14_通话死机问题_f43f6944
    处理方法:替换media.a 库
    bugfix_2.0.0_patch_02.14_通话死机问题_2025年11月27日.7z
  6. JL701N_le_audio_2.0.0Patch02.14 场景切换后播打断提示音恢复默认场景 1、使能TCFG_SCENE_UPDATE_ENABLE这个宏,可以直接一步更新全部节点。(部分旧版本,如02.02版本,可参考移植)
    image 2、关闭重启音频流后,会在get_eff_default_param这个接口重新获取节点配置,该接口没有链表一次更新全部节点,需自行添加对应节点(不同场景有参数修改的都需添加,无参数变化则不需要)。其中媒体流和混响流节点都在该接口添加,添加时需注意这两种音频流获取mode_index的接口不是同一个接口,需注意区分。
    //EQ节点按如下代码添加,也是修改对应节点名称
    if (!effect_strcmp(name->name, "EQ1")) {
        struct eq_default_parm *get_eq_parm = (struct eq_default_parm *)arg;
        if (!effect_strcmp(name->name, "EQ1")) {
            get_eq_parm->cfg_index = get_music_eq_preset_index();
        } else {
            get_eq_parm->cfg_index = 0;
        }
        y_printf("EQ1 ---------------------------------");
        get_eq_parm->mode_index = get_current_scene(); //媒体流调用该接口获取场景
        //get_eq_parm->mode_index = get_mic_current_scene(); //混响流调用该接口获取场景
        ret = 1;
    }

    //大部分节点参考此节点添加,修改对应节点名称即可
    if (!effect_strcmp(name->name, "Drc*Media")) {
        struct eff_default_parm *get_parm = (struct eff_default_parm *)arg;
        get_parm->cfg_index = 0;
        get_parm->mode_index = get_current_scene(); //媒体流调用该接口获取场景
        //get_parm->mode_index = get_mic_current_scene(); //混响流调用该接口获取场景
        ret = 1;
    }

image 46. JL701N_le_audio_2.0.0Patch02.14 广播主机模式下打断播放提示音异常 异常打印:
image 替换文件:
bugfix_lea_big_mode_2.0.0_p02.14.zip
47. JL701N_le_audio_2.0.0Patch02.14 三合一问题修复 【金山文档 | WPS云文档】 btctrler_修复连上两个mic后断开第一个mic卡顿和三合一+tws卡顿问题+连两个mic打断提示音卡顿
https://www.kdocs.cn/l/cfF3Y86ahIWD
48. JL701N_le_audio_2.0.0Patch02.14 广播固定发送端先开广播后播蓝牙音乐,播放两分钟会卡顿 修改方法:
增加如下代码:

params.conn = broadcast_hdl->bis_hdl_info[i].bis_hdl;

image 49. JL701N_le_audio_2.0.0Patch02.14 鸿蒙6.0系统无法通过MAP获取手机时间,且先连电脑后连手机无法触发MAP弹窗 修改方法:替换如下补丁。
701_le_200_02.14_修复鸿蒙6.0无法通过MAP获取时间和先连电脑后再连手机无法触发MAP弹窗的问题.rar
50. le_audio-JL701N-2.0.0-patch_02.14 多文件叠加播放新增流结束播放不主动释放,导致重复触发多文件叠加播放死机 处理方法:更换库,index固定传0,不需要在工具创建那么多数据流了,可以重复创建
image多文件叠加播放.rar media.a库文件
51. le_audio-JL701N-2.0.0-JL701N-demo-patch_02.14 使能叠加MIC广播,先进入广播再手机播放音乐会导致无声 使用broadcast_audio_recorder_reset,重新打开广播录音器
image 52. le_audio-JL701N-2.0.0-JL701N-demo-patch_02.15 蓝牙PA功放添加 //BR28 可视化用下面api代替
void bt_set_rxtx_status_io(u32 tx_pin, u32 rx_pin);
53. le_audio-JL701N-2.0.0-JL701N-demo-patch_02.12 之后版本 3in1 连接AC706N 无线麦无声问题。(包括连之前SDK广播声音解码异常) 修改方法:变量写1 兼容之前的SDK版本

const int JLA_V2_CODEC_WITH_FRAME_HEADER = 1;//jla_v2编解码是否带2个byte的头信息,注意这2个byte 的头信息没有算到编解码的码率里面
  1. le_audio-JL701N-2.0.0-patch_02.15 苹果手机的最左侧页面显示的耳机电量会 问题原因:ble edr同地址问题
    问题处理:关闭同地址配置
    image
  2. le_audio-JL701N-2.0.0-patch_02.14 不开后台从其他模式切回蓝牙模式后,RCSP没有回连且搜索不到 问题原因:退出 RCSP,没有把ble通道数量清零
    问题处理:在rcsp_interface.c增加如下接口,并在截图位置调用。
void bt_rcsp_reset_conn_num(void)
{
    rcsp_lib_printf("bt_rcsp_reset_conn_num\n");
    g_rcsp_adt_conn_num = 0;
    g_rcsp_ble_conn_num = 0;
    g_rcsp_spp_conn_num = 0;
}

imageimage 56. le_audio-JL701N-2.0.0-patch_02.14 RCSP先连ble再连edr第一次会连接失败 问题原因:ble edr同地址问题
问题处理:关闭同地址配置
image 57. le_audio-JL701N-2.0.0-patch_02.15 sd 卡维持IOPE05脚为高电平升级后 ,PE5 脚仍旧是 高电平的 原因:PE05 脚同时是 sdpg ,所以需要做关闭sdpg 处理
image 解决办法:软关机时候加多 sdpg_config(0);
image 58. le_audio-JL701N-2.0.0-patch_02.15 开启AAC使能,插卡播放AAC音频失败 处理方法:
在app_config.h文件使能TCFG_DEC_M4A_ENABLE即可。
image

  1. le_audio-JL701N-2.0.0-patch_02.15 配置仅IIS输出,PC从机模式,添加单MIC通话节点后,USB MIC上行无声。打印MMMMM卡顿,写卡通话算法的参考数据通道1为空,导致无法消除回声问题——20260410-CJD 以下修改:
  2. 确保TCFG_AUDIO_CVP_OUTPUT_WAY_IIS_ENABLE的宏为使能状态 image
  3. IIS输出,PC通话,使能回音消除,全局采样率需要设置为48000。避免报断言死机
  4. USB-Audio,PC MIC的播放同步节点需要调整到30或者50ms。避免出现打印MMMMM,导致的卡顿或者上行无声、算法参考数据为0问题 image
  5. 增加以下修改,修复USB MIC上行通话无声(远端无声)问题
    1. 如果是24bit位宽,则需要在单MIC通话节点的前面,插入BitWidthConvert节点
    2. 如果配置24bit,加了位宽转换,pc-mic音频流协商失败无声(单mic通话与播放同步节点协商失败),那么在播放同步前再加一个位宽转换节点,或者通过加一个bypass-EQ节点即可 imageimageimage
u8 pc_mic_is_open(void)
{
    return (g_pc_mic_state == PC_MIC_STA_OPEN);
}

#if TCFG_AUDIO_CVP_OUTPUT_WAY_IIS_ENABLE && (defined TCFG_IIS_NODE_ENABLE)
    extern u8 pc_mic_is_open(void);
    int iis_sample_rate = audio_iis_get_sample_rate(audio_cvp_ref_iis_hdl_get());
    if (pc_mic_is_open()) {
        printf("%s %d\n", __func__, __LINE__);
        audio_cvp_ref_src_open(STREAM_SCENE_PC_SPK, TCFG_AUDIO_GLOBAL_SAMPLE_RATE, fmt->sample_rate, 2);
    } else {
        printf("%s %d\n", __func__, __LINE__);
        audio_cvp_ref_src_open(hdl->scene, iis_sample_rate, fmt->sample_rate, 2);
    }
    printf("%s, hdl->scene %d, fmt->sample_rate %d, iis_sample_rate %d", __func__, hdl->scene, fmt->sample_rate, iis_sample_rate);
#endif

5、以下重启reboot_aec代码处增加忽略参考数据。避免aec_reboot内部状态一直卡住,get_audio_aec_rebooting()不返回重启成功状态,导致无法对齐IIS外部参考数据。(非必要的,如果碰到了触发aec_reboot后无声的问题,可以增加此修改)

audio_cvp_ioctl(CVP_OUTWAY_REF_IGNORE, 1, NULL);

image 60. le_audio-JL701N-2.0.0-patch_02.15 开启FLAC使能,无法播放24bit96k采样率的flac本地音乐文件 处理方法:
修改解码支持的最大采样率为96K即可。
image 61. le_audio-JL701N-2.0.0-patch_02.15 开TWS,测试盒升级后第一次开机不会打开可发现可连接 根本原因:
蓝牙模式提示音回调触发的比BT_STATUS_INIT_OK事件早导致的,回调接口会调用bt_tws_poweron接口,此时蓝牙协议栈还未初始化完成,就会导致后续的蓝牙状态不对。
处理方法:
在提示音回调事件中,增加蓝牙初始化状态判断条件,如下。

    if (g_bt_hdl.init_ok == 0) { //蓝牙未初始化
        return 0;
    }   

image 62. le_audio-JL701N-2.0.0-patch_02.14 RCSP开启后,获取不到蓝牙歌词。 蓝牙歌词的回调和杰理之家歌词的回调合并了,不在之前的处理函数中。
image

  1. le_audio-JL701N-2.0.0-patch_02.14 - 阻塞获取AD值,调用adc_get_value_blocking函数低概率出现看门狗死机问题 看门狗死机,死机位置:位于gpadc.c: 388 -390
    image 原因:adc驱动阻塞式采样存在临界问题,导致卡住
    image 解决方案:替换以下cpu.a库
    cpu-20260603-1529-优化ADC驱动阻塞式读取临界问题-看门狗死机-baseon-git20250913(02.14)--by-jiabao.a

  2. le_audio-JL701N-2.0.0-patch_02.14 配置双备份升级,但没有生成db_update_data.bin文件 原因:SDK的下载目录工具没有更新
    处理方案:获取更新替换SDK里面的这几个exe
    https://doc.zh-jieli.com/Tools/zh-cn/other_info/index.html
    imageimage

  3. le_audio-JL701N-2.0.0外挂FM单声道输入,dac单声道输出声音变调 le_audio-JL701N-2.0.0-patch_02.14、le_audio-JL701N-2.0.0-patch_02.15
    image

        if (hdl->ch_num > 1) {
            fmt->channel_mode   = AUDIO_CH_LR;
        } else {
            fmt->channel_mode   = AUDIO_CH_L;
        }
  1. le_audio-JL701N-2.0.0(patch_02.14)版本sdk ,打开TWS + 通话下行固定16K + 关闭手机铃声(开启本地铃声) 后远端打电话接听的时候触发死机问题 复现问题:反汇编信息的死机错误都是访问空白内存导致的死机
    image 解决办法:将config_audio_dac_dma_buf_realloc_enable 修改为0。
    image

  2. 问题处理

  3. jl701n_le_audio_v100 与706无线麦之间的通信说明

  4. 需要增加解析命令回调

static void identification_cmd_handler(u16 acl_hdl, u8 arg_num, int *argv)
{
    u8 i, j;
    int trans_role = argv[0];
    u8 *data = (u8 *)argv[1];
    int len = argv[2];
    if (trans_role == CONNECTED_SYNC_CALL_RX) {
        for (i = 0; i < CIG_MAX_NUMS; i++) {
            for (j = 0; j < CIG_MAX_CIS_NUMS; j++) {
                if (app_cig_conn_info[i].cis_conn_info[j].acl_hdl == acl_hdl) {
                    put_buf(data, len);
                    break;
                }
            }
        }
    }
    /* 由于转发流程中申请了内存,因此执行完毕后必须释放 */
    if (data) {
        free(data);
    }
}

CONN_DATA_TRANS_STUB_REGISTER(identification_cmd) = {
    .uuid = CONNECTED_UCMD_SYNC_FUNC_ID,
    .task_name = "app_core",
    .func = identification_cmd_handler,
};

image

#define CONNECTED_UCMD_SYNC_FUNC_ID           CIG_FUNC_ID('U', 'C', 'M', 'D')

image 2. 发送命令demo,自行根据主从机角色调用不同接口去收发命令

    case   KEY_MASTER_SEND_TO_SLAVE :
        u_data++;   
        printf(" KEY_MASTER_SEND_TO_SLAVE u_data is %d \n", u_data);
        connected_send_data_to_sibling(CONNECTED_UCMD_SYNC_FUNC_ID, &u_data, sizeof(u_data), CONNECTED_DEVICE_IDENTIFICATION_L);
        break;
    case   KEY_SLAVE_SEND_TO_MASTER :
        u_data++;   
        printf(" KEY_SLAVE_SEND_TO_MASTER u_data is %d \n", u_data);
        connected_send_data_to_sibling(CONNECTED_UCMD_SYNC_FUNC_ID, &u_data, sizeof(u_data), CONNECTED_DEVICE_IDENTIFICATION_M);
        break;

image 3. 由于默认le_audio 1.0.0 版本sdk 注册同步结构体 没有成功,需要加上以下修改,一定要rebuild image

enum {
    CONNECTED_EVENT_SYNC_TYPE = 0xA1,
    CONNECTED_KEY_SYNC_TYPE = 0xA2,
    CONNECTED_DATA_TRANSMIT_TYPE = 0xA3,
};

image

#if (LEA_CIG_CENTRAL_EN || LEA_CIG_PERIPHERAL_EN)
connected_event_sync
connected_data_transmit
connected_key_sync
#endif
  1. le_audio-JL701N-2.0.0-JL701N-demo-patch_02.03处理gpadc不能设置转换通道数量的问题。 问题原因:新版本将gpadc.c放到了库里面,无法直接改最大转换通道数。
    解决办法: 新增接口由客户自己去设置。
    imagecpu_le_audio-JL701N-2.0.0-JL701N-demo-patch_02.03_修改cpu库解决gpadc不能设置数量的问题.7z
  2. JL701N_le_audio_2.0.0(Patch02.02) SDK SD CMD和linein检测脚复用方法 处理方法:
  3. 增加以下两个宏定义
#define TCFG_LINEIN_MULTIPLEX_WITH_SD     1
#define TCFG_LINEIN_SD_PORT               0// 0:sd0 1:sd1     //选择复用的sd

image Gitlab地址:Files · feature_2.0.0(02.02)_SD_CMD和linein检测脚复用 · 自由品牌 / 客户支持 / 可视化SDK / le_audio / JL701Nle_audio_2.0.0 · GitLab
4. JL701N_le_audio_2.0.0(Patch02.14)设置录音文件时间 image

FILE *file_recorder_open_file(struct file_recorder *recorder, const char *fname)
{
    //文件系统时间必须在open文件之前
    fat_set_datetime_info(2025,10,30,9,50,34);
    recorder->file = fopen(fname, "w+");
    if (!recorder->file) {
        printf("open file %s faild\n", fname);
        return NULL;
    }
    jlstream_set_enc_file(recorder->stream, recorder, &recorder_fops);
    printf("open file %s suss\n", fname);

    struct vfs_attr attr;
    struct sys_time time;
    //获取文件属性
    fget_attrs(recorder->file,&attr);
    time=attr.crt_time;
    
    r_printf("crt_time attr :%d %d %d %d %d %d",time.year,time.month,time.day,
        time.hour,time.min,time.sec
    );
    time=attr.wrt_time;
    g_printf("wrt_time attr :%d %d %d %d %d %d",time.year,time.month,time.day,
        time.hour,time.min,time.sec
    );
    time=attr.acc_time;//fat文件系统没有acc属性 数据错误可以忽略
    y_printf("acc_time attr :%d %d %d %d %d %d",time.year,time.month,time.day,
        time.hour,time.min,time.sec
    );

    return (FILE *)recorder->file;
}
  1. JL701N_le_audio_2.0.0(Patch02.14)录音格式修改参考 问题:录音音频流中的编码那节点可设置的码率参数最大到128K,若是需要更高码率的录音文件格式,则可以在代码修改。
    image 修改办法:
    image

    struct stream_enc_fmt fmt = {
        .channel = 2,
        .bit_rate = 192000,
        .sample_rate = 48000,
        .frame_dms = 100,
        .coding_type = AUDIO_CODING_MP3, 
    };
    int err = jlstream_node_ioctl(stream, NODE_UUID_ENCODER, NODE_IOC_SET_ENC_FMT, (int)(&fmt));

  1. 演示案例分享:
  2. 小度APP 外网、内网

demo程序(le_audio-2.0.0-02.09以后版本支持小度功能,如果没有权限联系方案商或者杰理技术支持获取权限)

JL701N_le_audio_2.0.0_02.14_xiaodu_20260327.rar

修复问题

  1. jl701n_le_audio_v200p0209 小度APP连接失败 a.设备的edr和ble地址不能一致,否则苹果手机无法连接。
    imageimage b.三元组跟蓝牙地址和序列号都是绑定的,如果之前的三元组连接不上,可在小度APP查看该三元组绑定的序列号,重新配置序列号。(截图是142版本常用三元组的序列号,142版本的序列号是取蓝牙地址的后四位)
    image
  2. jl701n_le_audio_v200p0209 小度APP无法关闭电量显示 修改方法:改库,应用层配置如截图。
    imageimage
  3. jl701n_le_audio_v200p0209 小度关闭蓝牙后台,从其他模式切回蓝牙模式后,小度无法回连
  4. 在dma_spp_port.c添加 dma_spp_exit(void) 接口。
void dma_spp_exit(void)
{
    log_info("***** dma spp_exit******\n");
    if (dma_app_spp_hdl != NULL) {
        app_spp_disconnect(dma_app_spp_hdl);
        app_spp_hdl_free(dma_app_spp_hdl);
        dma_app_spp_hdl = NULL;
    }
    spp_state = 0;
}
  1. 在dma_le_port.c修改 dma_le_exit(void) 接口。
void dma_ble_exit(void)
{
    log_info("***** dma ble_exit******\n");
    u16 con_handle;
    con_handle = app_ble_get_hdl_con_handle(dma_app_ble_hdl);
    if (con_handle == 0) {
        printf("some error disconnect,ignore\n");
        return;
    }
    set_ble_work_state(BLE_ST_DISCONN);
    if (!dma_get_ble_update_ready_jump_flag()) {
        if (dma_check_tws_is_master()) {
            dma_bt_ble_adv_enable(1);
        }
    }
    connection_update_cnt = 0;

    server_register_dueros_ota_send_callbak(NULL);
    server_register_dueros_send_callbak(NULL);
    dma_message(APP_PROTOCOL_DISCONNECT, NULL, 0);
    dma_set_module(0);
    
    dma_ble_module_enable(0);
    if (app_ble_get_hdl_con_handle(dma_app_ble_hdl)) {
        app_ble_disconnect(dma_app_ble_hdl);
    }
    app_ble_hdl_free(dma_app_ble_hdl);
    dma_app_ble_hdl = NULL;
}
  1. 在 dma_all_exit(void) 接口中调用以上两个接口。
extern void dma_spp_exit(void);
extern void dma_ble_exit(void);
int dma_all_exit(void)
{
    dma_spp_exit();
    dma_ble_exit();
    return 0;
}
  1. jl701n_le_audio_v200p0209 修复小度无法用按键进行语音唤醒的问题 1、换最新的libdma-protocol.a
    2、使能智能语音模块
    image 3、修改下面两个接口,并用按键调用。
    image

  2. le_audio 701添加有线mic le_audio_701_添加有线mic_20240724.rar
    le_audio_701_添加两路有线mic_20241114.rar

  3. soundbox 701pcmic 支持pc跑后台将混响、bt、music、linein等音频通过pcmic上传远端
    feature_701_P0211_USBMIC_media.zip

  4. le audio 2.0.0P02.09 music下通过流暂停播放的方式来暂停与播放 需求:

  5. 进music不能立马播放音乐

  6. 需要拿到音频文件的信息

  7. 不能改变music_file_get_player_status获取播放的状态 JL701N_le_audio_2.0.0-添加music下流的暂停播放接口.7z
    image

  8. le audio 2.0.0P02.09 录音的同时进行OPUS编码,实现上传APP远端功能 流程图:
    imagefeature_701_leaudio_recoder_add_opus_0909.zip

  9. le audio 2.0.0P02.14 PC硬回踩没效果 JL701N_le_audio_2.0.0_2025101021-硬件回踩-打印PA5-串口在线调试TX(PC3)RX(PC1).7z
    主要配置:

  10. 非代码配置 imageimage

  11. 代码修改

    1. audio_cvp.c
#include "aec_uart_debug.h"
/*使用输入立体声参考数据的TDE回音消除算法*/
const u8 CONST_SMS_TDE_STEREO_REF_ENABLE = 1;


/*使能即可跟踪通话过程的内存情况*/
#define CVP_MEM_TRACE_ENABLE    1

int audio_aec_open(struct audio_aec_init_param_t *init_param, s16 enablebit, int (*out_hdl)(s16 *data, u16 len))
{
    s16 sample_rate = init_param->sample_rate;
    u32 ref_sr = init_param->ref_sr;
    if(init_param->ref_en){
        ref_sr = sample_rate;
        printf("aec_param->ref_sr : %d \r\n",ref_sr);
    }
    u8 ref_channel = init_param->ref_channel;
    ....
}
2. audio_cvp.h

struct audio_aec_init_param_t {
    s32 sample_rate;
    u32 ref_sr;
    u8 ref_channel;
    u8 mic_num;
    u8 ref_en;
};
3. cvp_sms_node.c
/*节点start函数*/
static void cvp_ioc_start(struct cvp_node_hdl *hdl)
{
    struct stream_fmt *fmt = &hdl_node(hdl)->oport->fmt;
    struct audio_aec_init_param_t init_param;
    init_param.sample_rate = fmt->sample_rate;
    init_param.ref_sr = hdl->ref_sr;
    init_param.ref_channel = hdl->ref_mic_num;
    init_param.ref_en = hdl->ref_mic.en;
    u8 mic_num; //算法需要使用的MIC个数
    ....
}
4. adc_file.c
void audio_adc_cfg_init(struct adc_file_common *adc_f)  //通话外其他ADC节点读配置
{
    ...
        adc_f->hdl->ch_num = 0;
        adc_f->read_flag = 1;
        for (i = 0; i < AUDIO_ADC_MAX_NUM; i++) {
            if (adc_f->cfg.mic_en_map & BIT(i)) {
                audio_adc_add_ch(&adc_hdl, i);
                adc_f->hdl->ch_num++;
            }
            audio_adc_file_set_mic_en_map(adc_f->cfg.mic_en_map);
        }
    }
#if 0//TCFG_MC_BIAS_AUTO_ADJUST
    extern u8 mic_bias_rsel_use_save[AUDIO_ADC_MAX_NUM];
    extern u8 save_mic_bias_rsel[AUDIO_ADC_MAX_NUM];
    int i = 0;
    for (i = 0; i < AUDIO_ADC_MAX_NUM; i++) {
        if (mic_bias_rsel_use_save[i]) {
            adc_f->platform_cfg[i].mic_bias_rsel = save_mic_bias_rsel[i];
        }
    }
#endif
}
5. 
  1. le audio 2.0.0P02.14 添加nandflash模块 Files · feature_PC模式挂载nandflash · 自由品牌 / 客户支持 / JLStudio / le_audio / JL701Nle_audio_2.0.0 · GitLab

demo程序

JL701N_le_audio_2.0.0_P02.14_nandflash.rar

功能修改

  1. 支持PC模式挂载nandflash,可格式化、拷贝和删除文件。

  2. 将nandflash添加进设备管理器,支持音乐模式播放nandflash歌曲

  3. 增加nandflash歌曲播放断点记忆功能

  4. le audio 2.0.0P02.15 配置MIC叠加广播 701_le_200_02.15叠加MIC广播配置demo.rar
    Files · feature_广播叠加MICdemo · 自由品牌 / 客户支持 / JLStudio / le_audio / JL701Nle_audio_2.0.0 · GitLab

  5. le audio 2.0.0 P02.15 实现 bt 模式下 a2dp解码 叠加IIS IN 输入音频,同时以 IIS out 输出 demo程序:
    说明:自行根据需要调用 iis_start(); 开启或iis_stop(); 关闭IIS 输入流,然后音频流混合输出已有数据流程实现:
    image 外网链接:Files · demo_701_bt_iisin_to_iis_out · JL-Studio / Leaudio / 701N / JL701N_le_audio_2.0.0 · GitLab

  6. 使用叠加方式模拟打断方式播放提示音 feature_提示音使用叠加模拟打断方式
    在媒体音频流中添加总音量控制节点
    image

  7. 701 可视化 sdk 用cis 实现对讲机功能demo 目的: 利用可视化平台实现对讲机功能,方便后续维护,该版本已增加回音消除算法节点。
    demo链接:feature_701_cis_对讲机demo

  8. 701 200P0215 本地opus数据解码 Files · opus-200p0215 · JL-Studio / Leaudio / 701N / JL701N_le_audio_2.0.0 · GitLab
    相关说明看分支页面文档
    image

本文档包含以下子页面

  • JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,做广播音箱,从箱无法实现音量同步多个问题点修改
  • jl701n_le_audio_v200patch02 IO串口升级修改串口单次发送字节长度的修改办法
Prev
AC706N音箱问题整理
Next
JL703N音箱问题整理