JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,做广播音箱,从箱无法实现音量同步多个问题点修改
📎 原始文档:https://www.kdocs.cn/l/cbT6kuD6uJPb JL701N 可视化工具 jla_audio_1.1.0(1.0.0)版本SDK,做广播音箱,从箱无法实现音量同步多个问题点修改
- 问题点 广播主机连接手机后,进入广播蓝牙音频 ,手机调节音量无法同步给到 主机问题 原因:进入广播发射状态后,设置音量的蓝牙地址被改变,所以无法对应同步手机音量给到广播主机
修改办法:修改对应正确的同步音量的蓝牙地址
u8 *le_audio_a2dp_recorder_get_btaddr(void);

u8 *le_audio_a2dp_recorder_get_btaddr(void)
{
if (!g_a2dp_recorder) {
return NULL;
}else{
return g_a2dp_recorder->btaddr;
}
}

int a2dp_player_get_btaddr(u8 *btaddr)
{
if (g_a2dp_player) {
memcpy(btaddr, g_a2dp_player->bt_addr, 6);
return 1;
}else{
#if LEA_BIG_CTRLER_TX_EN || LEA_CIG_CENTRAL_EN || LEA_CIG_PERIPHERAL_EN
u8 *addr = le_audio_a2dp_recorder_get_btaddr();
if (addr){
memcpy(btaddr, addr, 6);
return 1;
}
#endif
}
return 0;
}
- 另一个原因音量控制下发后并没有正确执行到 音量控制节点控制流程, 修改办法:对应默认的 音量控制节点的名称不要改变,保持 Vol_LE_Audio,代码中增加对应控制执行代码。


#if (LEA_BIG_CTRLER_TX_EN || LEA_BIG_CTRLER_RX_EN)
if (le_audio_player_is_playing()) {
sprintf(node_name, "%s%s", "Vol_LE_", "Audio");
return 0;
}
#endif
- 在能实现本地音量控制后,测试发现 广播接收从机 并不能完成音量同步 原因在于,发射端并没有发送当前音量值给到从机去同步设置从机的本地音量,只有 从机解析同步音量数据后的操作。
解决办法:增加 发射端,在设置发射主机本地音量时,也同步发送音量值给到 从机
#if (LEA_BIG_CTRLER_TX_EN || LEA_BIG_CTRLER_RX_EN)
update_broadcast_sync_data(BROADCAST_SYNC_VOL, volume);
#endif