无声音发送字符串拼接在一起的问题
authordxy <1731678236qq.com>
Mon, 1 Sep 2025 10:19:00 +0000 (18:19 +0800)
committerdxy <1731678236qq.com>
Mon, 1 Sep 2025 10:19:00 +0000 (18:19 +0800)
2.code/1.sdk/apps/BK_app/BK_drive/bk_audio.c
2.code/1.sdk/apps/BK_app/BK_drive/bk_uart.c

index 5b6fa6b..a3ec0b7 100644 (file)
@@ -450,10 +450,13 @@ int audio_link_demo_RX_data(char *data, int len)
         //pcm_single_to_dual(data, data, len);
         memcpy(c_data,data,len);
         cbuf_write_updata(dac_cbuffer, len );
-        if(BT_state == 1)
+        if(BT_state == 1){
             esco_enc_resume();//通知耳机有数据要编码
+        }     
         else if(local_audio_state == 1)
+        {
             audio_decoder_updata();//通知本地播放要更新数据了
+        }
     }
     return    wlen;
 }
index a05fb2b..c6c1ab8 100644 (file)
@@ -437,7 +437,6 @@ int uart_send_PWR_key_even(void)
     cJSON_Delete(root);
     return 0;
 }
-
 int uart_send_single_bt_mac(u8 *name,u8 *mac,u8 connect)
 {
     // {"event":"bt_connect_single",
@@ -612,8 +611,18 @@ int uart_send_bt_list(u8 *data)
         }
         return 0;
     }
+    read_ack_flag=0;
     bk_uart_send_smg(BK_UART_WRITE_DATA, data,strlen(data));
     // uart_send_blocking(ut, data, strlen(data), 20);
+    int count = 50;
+    while(count--)
+    {
+        if(read_ack_flag == 1)
+        {
+            break;
+        }
+        os_time_dly(1);
+    }
     return 0;
 }
 int uart_send_versions(void)
@@ -982,11 +991,32 @@ void print_hex(char *data ,int len)
     }
 }
 //清楚蓝牙耳机连接记录
+extern u8 *get_cur_connect_emitter_mac_addr(void);
+extern void delete_link_key(bd_addr_t *bd_addr, u8 id);
 void clear_earphone_record(void){
     if(bt_connect){
         user_emitter_cmd_prepare(USER_CTRL_DISCONNECTION_HCI, 0, NULL);
     }
-    emitter_delete_remote_all();
+    u8 *current_mac = get_cur_connect_emitter_mac_addr();
+    for(u8 i=0;i<6;i++)
+    {
+        printf("%02x",current_mac[i]);
+    }
+    bd_addr_t *connect_bd_addr = NULL;
+    for(u8 i=0;i<6;i++)
+    {
+        printf("%02x",bt_conn_addr[i]);
+    }
+    if(bt_conn_addr[0] != 0x00 || bt_conn_addr[1] != 0x00 || bt_conn_addr[2] != 0x00 || bt_conn_addr[3] != 0x00 || bt_conn_addr[4] != 0x00 || bt_conn_addr[5] != 0x00){
+        connect_bd_addr=malloc(sizeof(bd_addr_t));
+        if(connect_bd_addr == NULL){
+            return;
+        }
+        memcpy(connect_bd_addr,bt_conn_addr,6);
+        printf("删除成功");
+        delete_link_key(connect_bd_addr,1);
+    }
+    // user_emitter_cmd_prepare(USER_CTRL_DEL_ALL_REMOTE_INFO, 0, NULL);
     uart_send_clear_earphoneok();
 
 }
@@ -1295,6 +1325,9 @@ int parse_uart_data(char *json_string)
                 int volume = atoi(data->valuestring);
                 int volume_tmp = (volume*31)/100;
                 printf("volume:%d %d",volume,volume_tmp);
+                if(volume_tmp <= 0){
+                    volume_tmp=1;
+                }
                 app_audio_volume_set(volume_tmp);
             }
         }