不要用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 天前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
乐鑫科技 Espressif5 天前
用 AI 开发 Zephyr-IoT 应用
人工智能·物联网·esp32·乐鑫科技·zephyr
nLif7 天前
Anemoia-ESP32 串口手柄代码
esp32
乐鑫科技 Espressif9 天前
ESP-Claw 全面升级,打造可共享、可复用的设备端 AI Skills 生态
人工智能·esp32·乐鑫科技
Starry-sky(jing)20 天前
Win11 装 ESP32 Arduino 库卡 3 小时?我把官方 3.3.10 全平台 522MB 搬到了蓝奏云,解压即用
运维·windows·esp32·arduino·离线安装
π同学22 天前
ESP-IDF+vscode开发ESP32第十七讲——USB设备栈
vscode·esp32·usb
欢乐熊嵌入式编程1 个月前
选型避坑:ESP32 vs STM32+模组 vs NB-IoT,不同场景怎么选
stm32·单片机·嵌入式硬件·物联网·esp32·嵌入式iot
欢乐熊嵌入式编程1 个月前
WIFI通信协议全解析18: ESP32 作为 AP 热点:打造自己的“微型路由器”(附完整实战代码)
物联网·wifi·esp32·蓝牙·wifi协议·ap热点
sanzk1 个月前
修改blink让灯闪烁
esp32
乐鑫科技 Espressif1 个月前
ESP32-E22 获 Wi-Fi 6E 认证,开源 Linux 驱动同步发布
esp32·wi-fi·乐鑫科技·esp32-e22·wi-fi 6e