if (send_websocket_message(chat_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
{
chat_reconnect=0;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
cJSON_free(jsonString);
return true;
}
{
recv_buf[len] = '\0';
}
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bk_websocket_demo len %d\n",len);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "bk_websocket_demo len %d\n",len);
if (len == -1 || type == WS_CLOSE) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WebSocket connection closed");
break;
\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},\"payload\":{\"format\":\"MP3\",\"sample_rate\":16000}}";
if (send_websocket_message(asr_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
else
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message erro\n");
char *jsonString ="{\"header\":{\"event\":\"StopTranscription\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"}}";
if (send_websocket_message(asr_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
else
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message erro\n");
if (asr_client == NULL) {
bool state = false;
- SendMsgToUIService(UI_AI_JUMP_TO_LISTENING_VIEW, 0, &state, sizeof(bool));
+ // SendMsgToUIService(UI_AI_JUMP_TO_LISTENING_VIEW, 0, &state, sizeof(bool));
goto asr_cleanup_and_exit;
}
{
memset_s(tts_task_id_buf,128,0,128);
tts_is_ready=0;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
}
}
if (send_websocket_message(tts_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
{
tts_is_ready=0;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
}
}
printf("uapi_start_tts : %s\r\n",jsonString);
if (send_websocket_message(tts_client,(uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
}
bool uapi_start_tts_single_txt(char *buf)
{
-
+
+ #if 0
if(tts_is_ready!=1)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"uapi_start_tts_single_txt no tts_is_ready \n");
if (send_websocket_message(tts_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
{
tts_reconnect=0;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
free(jsonString);
return true;
}
free(jsonString);
return false;
+ #else
+ if (tts_is_ready != 1) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_start_tts_single_txt no tts_is_ready \n");
+ return false;
+ }
+ // 创建根JSON对象
+ cJSON* dataJSON = cJSON_CreateObject();
+ if (dataJSON == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error creating root JSON object\n");
+ return false;
+ }
+
+ // 创建header对象并添加字段
+ cJSON* header = cJSON_CreateObject();
+ if (header == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error creating header JSON object\n");
+ cJSON_Delete(dataJSON); // 释放已分配的内存
+ return false;
+ }
+ cJSON_AddStringToObject(header, "event", "RunSynthesis");
+ cJSON_AddStringToObject(header, "trace_id", tts_task_id_buf);
+
+ // 创建payload对象并添加字段
+ cJSON* payload = cJSON_CreateObject();
+ if (payload == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error creating payload JSON object\n");
+ cJSON_Delete(header); // 释放已分配的内存
+ cJSON_Delete(dataJSON);
+ return false;
+ }
+ cJSON_AddStringToObject(payload, "text", buf);
+
+ // 将header和payload添加到根对象dataJSON中
+ cJSON_AddItemToObject(dataJSON, "header", header);
+ cJSON_AddItemToObject(dataJSON, "payload", payload);
+
+ // 将JSON对象转换为字符串
+ char* jsonString = cJSON_PrintUnformatted(dataJSON);
+ if (jsonString == NULL) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Error converting JSON to string\n");
+ cJSON_Delete(dataJSON); // 释放JSON对象
+ return false;
+ }
+
+ // 发送WebSocket消息
+ bool result = false;
+ if (send_websocket_message(tts_client, (uint8_t*)jsonString, strlen(jsonString), WS_TEXT) == 0) {
+ tts_reconnect = 0;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "send_websocket_message succ 0\n");
+ result = true;
+ }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "send_websocket_message fail -1\n");
+ }
+
+ // 释放资源
+ cJSON_Delete(dataJSON); // 释放JSON对象(会自动释放header和payload)
+ free(jsonString); // 释放cJSON_Print生成的字符串
+ return result;
+ #endif
}
// char *tts_txt_str=
if (send_websocket_message(tts_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
else
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message fail 1\n");
}
bk_websocket_tts_tick = (uint32_t)osKernelGetTickCount();
}
send_msg_data_into_Ai_msg_queue((uint8_t *)tts_recv_buf, len, 200);
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "TTS binary data received: %d bytes", len);
+ // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "TTS binary data received: %d bytes", len);
msleep(1);
} else if (type == WS_TEXT) {
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "TTS text data received: %s", tts_recv_buf);
msleep(1); // 避免过度占用CPU
}
-
+
+
+ tts_is_ready=0;
+
bk_websocket_tts_tick = 0;
AI_LOCK();
void send_ai_bin(uint8_t *buf,uint32_t len)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_ai_bin %d\n",len);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_ai_bin %d\n",len);
// voice_chat_client
// if (send_websocket_message(asr_client,( uint8_t *)buf,len,WS_BINARY)==0)
if (send_websocket_message(asr_client,( uint8_t *)buf,len,WS_BINARY)==0)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
msleep(100);
}
else
if (send_websocket_message(voice_chat_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
{
startAudioCaptureTask();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
}
printf("uapi_start_tts : %s\r\n",jsonString);
if (send_websocket_message(voice_chat_client,( uint8_t *)jsonString,strlen(jsonString),WS_TEXT)==0)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"send_websocket_message succ 0\n");
free(jsonString);
}
return true;
}
-bool uapi_get_server_state_is_end()
+bool uapi_get_server_state_is_end(void)
{
bool ret=true;