不要用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);

}

*/

相关推荐
weixin_404380633 天前
MQTT 上云验收:ESP32-S3 从局域网控灯到远程网页控制
物联网·mqtt·esp32
探鸽小钛4 天前
4G 终端 ES8311 - 挂断一次,下次说话就没声了之解决办法
物联网·音视频·嵌入式·esp32·webrtc
光子物联单片机5 天前
ESP32传感器模块编程实践(一)DIY智能WIFI视频控制小车
嵌入式硬件·esp32·智能硬件·硬件
编码追梦人5 天前
基于 ESP32-S3 的便携式多参数环境监护仪设计:从硬件选型到 FreeRTOS 多任务落地
数据库·单片机·嵌入式硬件·mongodb·esp32·freertos·低功耗设计
Keith Guo6 天前
ESP32-S31 分区表的访问流程图
流程图·esp32
Keith Guo9 天前
Event Task Matrix(ETM)工作机制
驱动开发·esp32·etm
星野云联AIoT技术洞察11 天前
ESP32 接入 Meta Muse:Gadget SDK 能做什么,为什么不能直接做商业设备
esp32·agent·token·边缘ai·meta muse·mcu选型
ITKEY_14 天前
VSCode Arduino cli 开发ESP32
esp32·iot
J_bean14 天前
Mac(Intel 芯片)ESP32 USB 串口驱动安装教程
esp32·iot·usb 串口驱动
星野云联AIoT技术洞察15 天前
ESP32-P4 摄像头到屏幕的数据链路:CSI、ISP、PPA、缓冲与 DSI 如何协同
esp32·esp-idf·esp32-p4·摄像头集成·芯片集成·乐鑫芯片