不要用esp_websocket_client_send_bin直接发送前导音频,会卡,导致mic声音卡顿,要用环形队列

mic_data_zong0=0;

memcpy(mic_data_zong+1,mac,6);//1-6是设备唯一id

for(int i=0;i<read_len1;i++){

mic_data_zongaddon_sound_buf_len+i=to_VAD_1_pre_audio_dataindex1+i ;

}

size_t total_len = read_len1 + addon_sound_buf_len;

//不要用esp_websocket_client_send_bin直接发送前导音频,会卡,导致mic声音卡顿,要用环形队列:

BaseType_t send_ret =xRingbufferSend(buf_handle, mic_data_zong,

total_len, pdMS_TO_TICKS(2000));

if (send_ret != pdTRUE) {

ESP_LOGE(TAG, "Preamble send001 failed! total_len=%d", total_len);

}

/*

// 直接通过 WebSocket 发送

if (client != nullptr && esp_websocket_client_is_connected(client)) {

if (xSemaphoreTake(ws_mutex, pdMS_TO_TICKS(max_send_wait_time_ms)) == pdTRUE) {

esp_err_t err = esp_websocket_client_send_bin(client,

(const char *)mic_data_zong,

(int)total_len,

portMAX_DELAY);

if (err<0 ) {

ESP_LOGE(TAG, "Preamble send failed: %s", esp_err_to_name(err));//提示是失败,其实发成功了

} else {

ESP_LOGI(TAG, "Preamble sent successfully, len=%d", total_len);

}

xSemaphoreGive(ws_mutex);

} else {

ESP_LOGE(TAG, "Could not take ws_mutex for preamble");

}

} else {

ESP_LOGE(TAG, "WebSocket not connected, preamble dropped");

}

*/

/*

BaseType_t send_ret = xRingbufferSend(buf_handle, mic_data_zong,

pre_len + addon_sound_buf_len, pdMS_TO_TICKS(2000));

ESP_LOGE(TAG, "DEBUG SENDING PREAMBLE!!!,pre_len=%d", pre_len);

if (send_ret != pdTRUE) {

ESP_LOGE(TAG, "Preamble send001 failed! pre_len=%d", pre_len);

}

*/

相关推荐
π同学2 天前
ESP-IDF+vscode开发ESP32第十七讲——USB设备栈
vscode·esp32·usb
欢乐熊嵌入式编程20 天前
选型避坑:ESP32 vs STM32+模组 vs NB-IoT,不同场景怎么选
stm32·单片机·嵌入式硬件·物联网·esp32·嵌入式iot
欢乐熊嵌入式编程21 天前
WIFI通信协议全解析18: ESP32 作为 AP 热点:打造自己的“微型路由器”(附完整实战代码)
物联网·wifi·esp32·蓝牙·wifi协议·ap热点
sanzk22 天前
修改blink让灯闪烁
esp32
乐鑫科技 Espressif23 天前
ESP32-E22 获 Wi-Fi 6E 认证,开源 Linux 驱动同步发布
esp32·wi-fi·乐鑫科技·esp32-e22·wi-fi 6e
Mr_Tony24 天前
ESP32开发板环境安装
esp32
星越华夏1 个月前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32
2301_805962931 个月前
ESP32 使用 PlatformIO 编译点灯程序
stm32·esp32
大江东去浪淘尽千古风流人物1 个月前
【Micro-WL Robot】桌面级轮腿机器人全栈解析:LQR平衡控制、SimpleFOC驱动与五连杆腿部机构源码深度拆解
驱动开发·机器人·esp32·lqr·simplefoc·轮腿机器人·平衡控制
π同学1 个月前
ESP-IDF+vscode开发ESP32第十五讲——队列、流缓冲区、环形缓冲区
vscode·esp32·缓冲区