#ifdef __MMI_CUSTOM_VOICECHAT_SUPPORT__
-//static void mmi_voicechat_recv_trans_text_data_process(void * data_ptr, uint32_t data_len);
-//static void mmi_voicechat_recv_chat_text_data_process(void * data_ptr, uint32_t data_len);
-//static void mmi_voicechat_recv_tts_audio_data_process(void * data_ptr, uint32_t data_len);
+static void mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_DATA_SEND_MSG_ID_E msg_id, void * param, uint32_t param_size);
-static void mmi_voicechat_send_trans_start_data_process(void * data_ptr, uint32_t data_len);
-static void mmi_voicechat_send_trans_audio_data_process(void * data_ptr, uint32_t data_len);
-static void mmi_voicechat_send_trans_stop_data_process(void * data_ptr, uint32_t data_len);
-static void mmi_voicechat_send_chat_text_data_process(void * data_ptr, uint32_t data_len);
-//static void mmi_voicechat_send_tts_start_data_process(void * data_ptr, uint32_t data_len);
-//static void mmi_voicechat_send_tts_stop_data_process(void * data_ptr, uint32_t data_len);
-static void mmi_voicechat_send_tts_text_data_process(void * data_ptr, uint32_t data_len);
+static char s_voicechat_dialog_id[MMI_VOICECHAT_MSG_DIALOG_ID_LEN + 1] = {0};
+
+void mmi_voicechat_dialog_id_set(char * id)
+{
+ if(NULL == id)
+ return;
+
+ _lv_memset_00(s_voicechat_dialog_id, (MMI_VOICECHAT_MSG_DIALOG_ID_LEN + 1));
+ _lv_memcpy(s_voicechat_dialog_id, id, MMI_VOICECHAT_MSG_DIALOG_ID_LEN);
+}
+
+char * mmi_voicechat_dialog_id_get(void)
+{
+ return s_voicechat_dialog_id;
+}
+
+void mmi_random_string_generate(char * str_buf, uint16_t str_size, uint16_t str_len)
+{
+#if 0
+ if(NULL == str_buf || 0 == str_len || str_size < (str_len + 1))
+ return;
+
+ char charset[] = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ uint8_t i = 0;
+ for(i = 0; i < str_len; i++)
+ {
+ srand(Hal_Timer_Get_Counter());
+
+ str_buf[i] = charset[rand() % strlen(charset)];
+ }
+ str_buf[i] = '\0';
+
+#else
+
+ if(NULL == str_buf || 0 == str_len || str_size < (str_len + 1))
+ return;
+
+ char charupper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ char charlower[] = "abcdefghijklmnopqrstuvwxyz";
+ char charnumber[] = "1234567890";
+ uint8_t i = 0;
+ for(i = 0; i < str_len; i++)
+ {
+ unsigned int seed = 0;
+ long rand_num = 0;
+ uint8_t flag = 0;
+
+ Hal_Rtc_Gettime_Count_Utc(&seed);
+ srand(seed);
+ rand_num = arc4random() * rand();
+ flag = rand_num % 3;
+
+ if(0 == flag)
+ str_buf[i] = charupper[rand_num % (strlen(charupper))];
+ else if(1 == flag)
+ str_buf[i] = charlower[rand_num % (strlen(charlower))];
+ else
+ str_buf[i] = charnumber[rand_num % (strlen(charnumber))];
+ }
+ str_buf[i] = '\0';
+
+#endif
+}
+
+
+
+//
+void mmi_voicechat_send_start_request_msg(void * param, uint32_t param_size)
+{
+ mmi_voicechat_data_send_task_msg_send(VOICECHAT_MSG_ID_START_REQUEST, NULL, 0);
+}
+
+static void mmi_voicechat_send_start_request_process(void * data_ptr, uint32_t data_len)
+{
+ char send_ptr[1024] = {0};
+ int send_len = 0;
+ char message_id[MMI_VOICECHAT_MSG_MESSAGE_ID_LEN + 1] = {0};
+ char task_id[MMI_VOICECHAT_MSG_TASK_ID_LEN + 1] = {0};
+
+ char imei[16 + 1] = {0};
+ app_adp_get_imei_req(imei);
+
+ mmi_random_string_generate(message_id, MMI_VOICECHAT_MSG_MESSAGE_ID_LEN + 1, MMI_VOICECHAT_MSG_MESSAGE_ID_LEN);
+ mmi_random_string_generate(task_id, MMI_VOICECHAT_MSG_TASK_ID_LEN + 1, MMI_VOICECHAT_MSG_TASK_ID_LEN);
+
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: message_id=%s\n", __FUNCTION__, __LINE__, message_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: task_id=%s\n", __FUNCTION__, __LINE__, task_id);
+
+ send_len += sprintf(send_ptr, "{\"header\":{\"namespace\":\"VoiceChat\",\"name\":\"Start\","
+ "\"appkey\":\"%s\",\"message_id\":\"%s\",\"task_id\":\"%s\"},",
+ MMI_VOICECHAT_MSG_APPKEY, message_id, task_id);
+ send_len += sprintf(send_ptr + send_len, "\"payload\":{\"user_agent\":\"python\",\"device_id\":\"%s\","
+ "\"dialog_attributes\":{\"model_id\":\"qwen-plus\","
+ "\"prompt\":\"你是一个有用的语音助手\","
+ "\"voice\":\"longxiaochun\"}}}",
+ imei);
+
+#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
+ mmi_debug_info_write_to_file(VOICECHAT_SEND_DATA_FILE, send_ptr, send_len);
+#endif
+
+ int ret = mmi_voicechat_websocket_send_text_data(send_ptr, send_len);
+ if(0 > ret)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
+
+ //mmi_voicechat_trans_text_start_msg_send_fail();
+ }
+}
+
+
+#if 0
+void mmi_voicechat_send_tts_text_msg(void * param, uint32_t param_size)
+{
+ mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TTS_TEXT_SEND, param, param_size);
+}
+
+static void mmi_voicechat_send_tts_text_data_process(void * data_ptr, uint32_t data_len)
+{
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
+
+ uint32_t temp_len = 0;
+ uint32_t send_buff_len = data_len + 256;
+ char * send_buff_ptr = lv_mem_alloc(send_buff_len);
+ if(NULL == send_buff_ptr)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
+ return;
+ }
+ _lv_memset_00(send_buff_ptr, send_buff_len);
+
+ temp_len = 0;
+ temp_len += sprintf(send_buff_ptr + temp_len, "{\"header\":{\"event\":\"LongTextStream\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},");
+ temp_len += sprintf(send_buff_ptr + temp_len, "\"payload\":{\"voice\":\"xiaoyun\",\"format\":\"mp3\",\"sample_rate\":8000,\"volume\":50,\"speech_rate\":2,"); // 0,");
+ temp_len += sprintf(send_buff_ptr + temp_len, "\"text\":\"%s\"}}", data_ptr); // 185 + data_len
+
+#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
+ mmi_debug_info_write_to_file(VOICECHAT_SEND_TTS_TEXT_FILE, send_buff_ptr, temp_len);
+#endif
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: send_len=%d\n", __FUNCTION__, __LINE__, temp_len);
+ //int ret = mmi_voicechat_tts_websocket_send_text_data(send_buff_ptr, temp_len);
+ //if(0 > ret)
+ {
+ //VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
+ //mmi_voicechat_list_screen_signal_weak_prompt();
+ }
+
+ if(NULL != send_buff_ptr)
+ {
+ lv_mem_free(send_buff_ptr);
+ send_buff_ptr = NULL;
+ }
+}
+#endif
+
+
+#if 0
+static void mmi_voicechat_tts_audio_data_recv_msg(void * param, uint32_t param_size)
+{
+ mmi_voicechat_data_recv_task_msg_send(MMI_VOICECHAT_MSG_TTS_AUDIO_RECV, param, param_size);
+}
+
+static void mmi_voicechat_recv_tts_audio_data_process(void * data_ptr, uint32_t data_len)
+{
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
+ cplog_printf("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
+ if(NULL == data_ptr)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
+ return;
+ }
+
+#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
+ mmi_debug_info_write_to_file(VOICECHAT_RECV_TTS_FILE, data_ptr, data_len);
+#endif
+
+ cJSON * json_root = cJSON_Parse(data_ptr);
+ if(NULL != json_root)
+ {
+ cplog_printf("[@CHENG_DEBUG][%s][%d]: json root\n", __FUNCTION__, __LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts json\n", __FUNCTION__, __LINE__);
+
+ cJSON * json_header = cJSON_GetObjectItem(json_root, "header");
+ if(NULL != json_header)
+ {
+ char * value_event_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_header, "event"));
+ if(0 == strncmp(value_event_str, "EndSynthesis", strlen("EndSynthesis")))
+ {
+ // end
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: EndSynthesis\n", __FUNCTION__, __LINE__);
+
+ mmi_voicechat_tts_end_synthesis_action();
+ }
+ }
+ }
+ else
+ {
+ // tts data
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts data\n", __FUNCTION__, __LINE__);
+
+ if(true == mmi_voicechat_tts_audio_store(data_ptr, data_len))
+ {
+
+ }
+ }
+
+ if(NULL != json_root)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
+ cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
+ cJSON_Delete(json_root);
+ json_root = NULL;
+ }
+}
+
+void mmi_voicechat_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
+{
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
+ //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
+
+ mmi_voicechat_tts_audio_data_recv_msg(data_ptr, data_len);
+}
+#else
+
+void mmi_voicechat_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
+{
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
+ //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
+
+ if(NULL == data_ptr)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
+ return;
+ }
+
+#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
+ mmi_debug_info_write_to_file(VOICECHAT_RECV_DATA_FILE, data_ptr, data_len);
+#endif
+
+ cJSON * json_root = cJSON_Parse(data_ptr);
+ if(NULL != json_root)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts json\n", __FUNCTION__, __LINE__);
+
+ cJSON * json_header = cJSON_GetObjectItem(json_root, "header");
+ if(NULL != json_header)
+ {
+ char * value_event_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_header, "event"));
+ if(0 == strncmp(value_event_str, "EndSynthesis", strlen("EndSynthesis")))
+ {
+ // end
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: EndSynthesis\n", __FUNCTION__, __LINE__);
+
+ mmi_voicechat_tts_end_synthesis_action();
+ }
+ }
+ }
+ else
+ {
+ // tts data
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts data\n", __FUNCTION__, __LINE__);
+
+ if(true == mmi_voicechat_tts_audio_store(data_ptr, data_len))
+ {
+
+ }
+ }
+
+ if(NULL != json_root)
+ {
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
+ //cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
+ cJSON_Delete(json_root);
+ json_root = NULL;
+ }
+}
+#endif
+
+
#if 0
// recv task
static TASK_HANDLE * s_voicechat_data_recv_task_id = NULL;
static void mmi_voicechat_data_recv_task_msg_send(MMI_VOICECHAT_DATA_RECV_MSG_ID_E msg_id, void * param, uint32_t param_size)
{
- printf("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
if(NULL != s_voicechat_data_recv_task_id)
{
if((MMI_VOICECHAT_DATA_RECV_TASK_MSG_QUEUE_SIZE - 1) < Hal_Get_Message_Count(s_voicechat_data_recv_task_id))
{
- printf("[@CHENG_DEBUG][%s][%d]: msg queue full\n",__FUNCTION__,__LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg queue full\n",__FUNCTION__,__LINE__);
return;
}
- printf("[@CHENG_DEBUG][%s][%d]: \n",__FUNCTION__,__LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n",__FUNCTION__,__LINE__);
void * temp_ptr = NULL;
if(NULL != param && 0 != param_size)
temp_ptr = lv_mem_alloc(param_size + 1);
if(NULL == temp_ptr)
{
- printf("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
return;
}
_lv_memset_00(temp_ptr, param_size + 1);
void * msg_param = msg->cmd_param;
uint32_t param_size = msg->param_size;
- printf("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
switch(msg_id)
{
case MMI_VOICECHAT_MSG_TRANS_TEXT_RECV:
MMI_VOICECHAT_DATA_RECV_TASK_PRIORITY,
"mm_voicechat_data_recv_task");
- printf("[@CHENG_DEBUG][%s][%d]: tcp_task_id=0x%x\n",__FUNCTION__,__LINE__, s_voicechat_data_recv_task_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tcp_task_id=0x%x\n",__FUNCTION__,__LINE__, s_voicechat_data_recv_task_id);
}
static void mmi_voicechat_data_recv_task_delete(void)
static void mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_DATA_SEND_MSG_ID_E msg_id, void * param, uint32_t param_size)
{
- printf("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
if(NULL != s_voicechat_data_send_task_id)
{
if((MMI_VOICECHAT_DATA_SEND_TASK_MSG_QUEUE_SIZE - 1) < Hal_Get_Message_Count(s_voicechat_data_send_task_id))
{
- printf("[@CHENG_DEBUG][%s][%d]: msg queue full\n",__FUNCTION__,__LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg queue full\n",__FUNCTION__,__LINE__);
return;
}
- printf("[@CHENG_DEBUG][%s][%d]: \n",__FUNCTION__,__LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n",__FUNCTION__,__LINE__);
void * temp_ptr = NULL;
if(NULL != param && 0 != param_size)
temp_ptr = lv_mem_alloc(param_size + 1);
if(NULL == temp_ptr)
{
- printf("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
return;
}
_lv_memset_00(temp_ptr, param_size + 1);
void * msg_param = msg->cmd_param;
uint32_t param_size = msg->param_size;
- printf("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: msg_id=%d\n",__FUNCTION__,__LINE__, msg_id);
switch(msg_id)
{
- case MMI_VOICECHAT_MSG_TRANS_START_SEND:
- mmi_voicechat_send_trans_start_data_process(msg_param, param_size);
+ case VOICECHAT_MSG_ID_START_REQUEST:
+ mmi_voicechat_send_start_request_process(msg_param, param_size);
break;
- case MMI_VOICECHAT_MSG_TRANS_AUDIO_SEND:
- mmi_voicechat_send_trans_audio_data_process(msg_param, param_size);
+ case VOICECHAT_MSG_ID_STOP_REQUEST:
+ //mmi_voicechat_send_trans_audio_data_process(msg_param, param_size);
break;
+ #if 0
case MMI_VOICECHAT_MSG_TRANS_STOP_SEND:
//mmi_voicechat_send_trans_stop_data_process(msg_param, param_size);
break;
case MMI_VOICECHAT_MSG_CHAT_TEXT_SEND:
- mmi_voicechat_send_chat_text_data_process(msg_param, param_size);
+ //mmi_voicechat_send_chat_text_data_process(msg_param, param_size);
break;
case MMI_VOICECHAT_MSG_TTS_START_SEND:
break;
case MMI_VOICECHAT_MSG_TTS_TEXT_SEND:
- mmi_voicechat_send_tts_text_data_process(msg_param, param_size);
+ //mmi_voicechat_send_tts_text_data_process(msg_param, param_size);
break;
case MMI_VOICECHAT_MSG_TTS_STOP_SEND:
//mmi_voicechat_send_tts_stop_data_process(msg_param, param_size);
break;
+ #endif
default:
break;
MMI_VOICECHAT_DATA_SEND_TASK_PRIORITY,
"mm_voicechat_data_send_task");
- printf("[@CHENG_DEBUG][%s][%d]: tcp_task_id=0x%x\n",__FUNCTION__,__LINE__, s_voicechat_data_send_task_id);
+ VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tcp_task_id=0x%x\n",__FUNCTION__,__LINE__, s_voicechat_data_send_task_id);
}
static void mmi_voicechat_data_send_task_delete(void)
}
-
-// trans
-void mmi_voicechat_send_trans_start_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TRANS_START_SEND, NULL, 0);
-}
-
-void mmi_voicechat_send_trans_audio_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TRANS_AUDIO_SEND, param, param_size);
-}
-
-void mmi_voicechat_send_trans_stop_msg(void * param, uint32_t param_size)
-{
- //mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TRANS_STOP_SEND, NULL, 0);
-}
-
-static void mmi_voicechat_send_trans_start_data_process(void * data_ptr, uint32_t data_len)
-{
- char send_ptr[512] = {0};
- int send_len = 0;
-
- send_len = sprintf(send_ptr, "{\"header\":{\"event\":\"StartTranscription\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},\"payload\":{\"format\":\"amr\",\"sample_rate\":8000}}");
-
- //int ret = mmi_voicechat_trans_websocket_send_text_data(send_ptr, send_len);
- //if(0 > ret)
- {
- //VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
-
- //mmi_voicechat_trans_text_start_msg_send_fail();
- }
-}
-
-static void mmi_voicechat_send_trans_audio_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d,data=%s\n", __FUNCTION__, __LINE__, data_len, data_ptr);
-
- //int ret = mmi_voicechat_trans_websocket_send_binary_data(data_ptr, data_len);
- //if(0 > ret)
- {
- //VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
-
- //mmi_voicechat_trans_text_audio_msg_send_fail();
- }
-}
-
-static void mmi_voicechat_send_trans_stop_data_process(void * data_ptr, uint32_t data_len)
-{
-#if 0
- char send_ptr[512] = {0};
- int send_len = 0;
-
- send_len = sprintf(send_ptr, "{\"header\":{\"event\":\"StopTranscription\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"}}");
-
- int ret = mmi_voicechat_trans_websocket_send_text_data(send_ptr, send_len);
- if(0 > ret)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
- }
-#endif
-}
-
-#if 0
-static void mmi_voicechat_trans_text_data_recv_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_recv_task_msg_send(MMI_VOICECHAT_MSG_TRANS_TEXT_RECV, param, param_size);
-}
-
-static void mmi_voicechat_recv_trans_text_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
- cplog_printf("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
- if(NULL == data_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
- return;
- }
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_TRANS_FILE, data_ptr, data_len);
-#endif
-
- cJSON * json_root = cJSON_Parse(data_ptr);
- if(NULL != json_root)
- {
- cplog_printf("[@CHENG_DEBUG][%s][%d]: json root\n", __FUNCTION__, __LINE__);
-
- // "event"
- char * value_event_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_root, "event"));
- if(0 == strncmp(value_event_str, "TranscriptionStarted", strlen("TranscriptionStarted")))
- {
- // start
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: transcription start\n", __FUNCTION__, __LINE__);
-
- }
- else if(0 == strncmp(value_event_str, "Changed", strlen("Changed")))
- {
- // changed
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: changed\n", __FUNCTION__, __LINE__);
- cJSON * json_result = cJSON_GetObjectItem(json_root, "result");
- if(NULL != json_result)
- {
- char * value_result_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_result, "result"));
- uint32_t value_result_len = strlen(value_result_str);
-
- if(true == mmi_voicechat_trans_result_text_store(value_result_str, value_result_len, false))
- {
- // refresh ui
- mmi_voicechat_trans_text_middle_screen_update();
- }
- }
- }
- else if(0 == strncmp(value_event_str, "SentenceEnd", strlen("SentenceEnd")))
- {
- // end
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: transcription end\n", __FUNCTION__, __LINE__);
- cJSON * json_result = cJSON_GetObjectItem(json_root, "result");
- if(NULL != json_result)
- {
- char * value_result_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_result, "result"));
- uint32_t value_result_len = strlen(value_result_str);
-
- if(true == mmi_voicechat_trans_result_text_store(value_result_str, value_result_len, true))
- {
- // refresh ui
- mmi_voicechat_trans_text_stop_screen_update();
- }
- }
- }
- else if(0 == strncmp(value_event_str, "TranscriptionCompleted", strlen("TranscriptionCompleted")))
- {
- // stop
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: transcription stop\n", __FUNCTION__, __LINE__);
-
- }
- }
-
-EXIT_AND_FREE:
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cJSON_Delete(json_root);
- json_root = NULL;
- }
-}
-
-
-void mmi_voicechat_trans_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- mmi_voicechat_trans_text_data_recv_msg(data_ptr, data_len);
-}
-#else
-
-void mmi_voicechat_trans_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- if(NULL == data_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
- return;
- }
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_TRANS_FILE, data_ptr, data_len);
-#endif
-
- cJSON * json_root = cJSON_Parse(data_ptr);
- if(NULL != json_root)
- {
- cplog_printf("[@CHENG_DEBUG][%s][%d]: json root\n", __FUNCTION__, __LINE__);
-
- // "event"
- char * value_event_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_root, "event"));
- if(0 == strncmp(value_event_str, "TranscriptionStarted", strlen("TranscriptionStarted")))
- {
- // start
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: transcription start\n", __FUNCTION__, __LINE__);
-
- }
- else if(0 == strncmp(value_event_str, "Changed", strlen("Changed")))
- {
- // changed
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: changed\n", __FUNCTION__, __LINE__);
- cJSON * json_result = cJSON_GetObjectItem(json_root, "result");
- if(NULL != json_result)
- {
- char * value_result_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_result, "result"));
- uint32_t value_result_len = strlen(value_result_str);
-
- if(true == mmi_voicechat_trans_result_text_store(value_result_str, value_result_len, false))
- {
- // refresh ui
- mmi_voicechat_trans_text_middle_screen_update();
- }
- }
- }
- else if(0 == strncmp(value_event_str, "SentenceEnd", strlen("SentenceEnd")))
- {
- // end
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: transcription end\n", __FUNCTION__, __LINE__);
- cJSON * json_result = cJSON_GetObjectItem(json_root, "result");
- if(NULL != json_result)
- {
- char * value_result_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_result, "result"));
- uint32_t value_result_len = strlen(value_result_str);
-
- if(true == mmi_voicechat_trans_result_text_store(value_result_str, value_result_len, true))
- {
- // refresh ui
- mmi_voicechat_trans_text_stop_screen_update();
- }
- }
- }
- else if(0 == strncmp(value_event_str, "TranscriptionCompleted", strlen("TranscriptionCompleted")))
- {
- // stop
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: transcription stop\n", __FUNCTION__, __LINE__);
-
- }
- }
-
-EXIT_AND_FREE:
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cJSON_Delete(json_root);
- json_root = NULL;
- }
-}
-#endif
-
-
-
-// chat
-void mmi_voicechat_send_chat_text_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_CHAT_TEXT_SEND, param, param_size);
-}
-
-static void mmi_voicechat_send_chat_text_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d,data=%s\n", __FUNCTION__, __LINE__, data_len, data_ptr);
-
- uint32_t temp_len = 0;
- uint32_t send_buff_len = data_len + 128;
- char * send_buff_ptr = lv_mem_alloc(send_buff_len);
- if(NULL == send_buff_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
- return;
- }
- _lv_memset_00(send_buff_ptr, send_buff_len);
-
- temp_len = sprintf(send_buff_ptr, "{\"type\":\"chat\",\"content\":\"%s\"}", data_ptr);
-
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: send_len=%d\n", __FUNCTION__, __LINE__, temp_len);
- //int ret = mmi_voicechat_chat_websocket_send_text_data(send_buff_ptr, temp_len);
- //if(0 > ret)
- {
- //VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
- }
-
- if(NULL != send_buff_ptr)
- {
- lv_mem_free(send_buff_ptr);
- send_buff_ptr = NULL;
- }
-}
-
-#if 0
-static void mmi_voicechat_chat_text_data_recv_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_recv_task_msg_send(MMI_VOICECHAT_MSG_CHAT_TEXT_RECV, param, param_size);
-}
-
-static void mmi_voicechat_recv_chat_text_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
- cplog_printf("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
- if(NULL == data_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
- return;
- }
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_CHAT_FILE, data_ptr, data_len);
-#endif
-
- cJSON * json_root = cJSON_Parse(data_ptr);
- if(NULL != json_root)
- {
- cplog_printf("[@CHENG_DEBUG][%s][%d]: json root\n", __FUNCTION__, __LINE__);
-
- // "type"
- char * value_type_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_root, "type"));
- if(0 == strncmp(value_type_str, "start", strlen("start")))
- {
- // start
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chat start\n", __FUNCTION__, __LINE__);
-
- }
- else if(0 == strncmp(value_type_str, "middle", strlen("middle")))
- {
- // middle
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chat middle\n", __FUNCTION__, __LINE__);
-
- char * value_content_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_root, "content"));
- uint32_t value_content_len = strlen(value_content_str);
-
- if(true == mmi_voicechat_chat_result_text_store(value_content_str, value_content_len))
- {
- // send msg to refresh ui
- //mmi_voicechat_chat_text_middle_screen_update();
- }
- }
- else if(0 == strncmp(value_type_str, "end", strlen("end")))
- {
- // stop
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chat stop\n", __FUNCTION__, __LINE__);
-
- // send msg to refresh ui
- mmi_voicechat_chat_text_stop_screen_update();
- }
- }
-
-EXIT_AND_FREE:
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cJSON_Delete(json_root);
- json_root = NULL;
- }
-}
-
-void mmi_voicechat_chat_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- mmi_voicechat_chat_text_data_recv_msg(data_ptr, data_len);
-}
-#else
-
-void mmi_voicechat_chat_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- if(NULL == data_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
- return;
- }
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_CHAT_FILE, data_ptr, data_len);
-#endif
-
- cJSON * json_root = cJSON_Parse(data_ptr);
- if(NULL != json_root)
- {
- cplog_printf("[@CHENG_DEBUG][%s][%d]: json root\n", __FUNCTION__, __LINE__);
-
- // "type"
- char * value_type_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_root, "type"));
- if(0 == strncmp(value_type_str, "start", strlen("start")))
- {
- // start
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chat start\n", __FUNCTION__, __LINE__);
-
- }
- else if(0 == strncmp(value_type_str, "middle", strlen("middle")))
- {
- // middle
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chat middle\n", __FUNCTION__, __LINE__);
-
- char * value_content_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_root, "content"));
- uint32_t value_content_len = strlen(value_content_str);
-
- if(true == mmi_voicechat_chat_result_text_store(value_content_str, value_content_len))
- {
- // send msg to refresh ui
- //mmi_voicechat_chat_text_middle_screen_update();
- }
- }
- else if(0 == strncmp(value_type_str, "end", strlen("end")))
- {
- // stop
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: chat stop\n", __FUNCTION__, __LINE__);
-
- // send msg to refresh ui
- mmi_voicechat_chat_text_stop_screen_update();
- }
- }
-
-EXIT_AND_FREE:
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cJSON_Delete(json_root);
- json_root = NULL;
- }
-}
-#endif
-
-
-
-// tts
-#if 0
-void mmi_voicechat_send_tts_start_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TTS_START_SEND, NULL, 0);
-}
-
-void mmi_voicechat_send_tts_stop_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TTS_STOP_SEND, NULL, 0);
-}
-
-void mmi_voicechat_send_tts_text_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TTS_TEXT_SEND, param, param_size);
-}
-
-static void mmi_voicechat_send_tts_start_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d,data=%s\n", __FUNCTION__, __LINE__, data_len, data_ptr);
-
- char send_ptr[512] = {0};
- int send_len = 0;
-
- send_len = sprintf(send_ptr, "{\"header\":{\"event\":\"StartSynthesis\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},\"payload\":{\"voice\":\"zhixiaomei\",\"format\":\"mp3\",\"sample_rate\":8000,\"volume\":50,\"speech_rate\":0}}");
- //send_len = sprintf(send_ptr, "{\"header\":{\"event\":\"StartSynthesis\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},\"payload\":{\"voice\":\"xiaoyun\",\"format\":\"WAV\",\"sample_rate\":16000,\"volume\":50,\"speech_rate\":0}}");
-
- int ret = mmi_voicechat_tts_websocket_send_text_data(send_ptr, send_len);
- if(0 > ret)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
- }
-}
-
-static void mmi_voicechat_send_tts_stop_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d,data=%s\n", __FUNCTION__, __LINE__, data_len, data_ptr);
-
- char send_ptr[512] = {0};
- int send_len = 0;
-
- send_len = sprintf(send_ptr, "{\"header\":{\"event\":\"StopSynthesis\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"}}");
-
- int ret = mmi_voicechat_tts_websocket_send_text_data(send_ptr, send_len);
- if(0 > ret)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
- }
-}
-
-static void mmi_voicechat_send_tts_text_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: data=%s\n", __LINE__, data_ptr);
-
- uint32_t temp_len = 0;
- uint32_t send_buff_len = data_len + 128;
- char * send_buff_ptr = lv_mem_alloc(send_buff_len);
- if(NULL == send_buff_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
- return;
- }
- _lv_memset_00(send_buff_ptr, send_buff_len);
-
-#if 0
- temp_len = 0;
- temp_len += sprintf(send_buff_ptr + temp_len, "{\"header\":{\"event\": \"LongTextStream\",\"trace_id\": \"3fa6b9e6a30b407ea38ad7ae69e6c291\"},");
- temp_len += sprintf(send_buff_ptr + temp_len, "\"payload\":{\"voice\":\"xiaoyun\",\"format\":\"amr\",\"sample_rate\":8000,\"volume\":50,\"speech_rate\":0,");
- temp_len += sprintf(send_buff_ptr + temp_len, "\"text\":\"%s\"}}", data_ptr);
-#else
- temp_len = 0;
- temp_len += sprintf(send_buff_ptr + temp_len, "{\"header\":{\"event\":\"RunSynthesis\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},");
- temp_len += sprintf(send_buff_ptr + temp_len, "\"payload\":{\"text\":\"%s\"}}", data_ptr);
-#endif
-
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: send_len=%d\n", __FUNCTION__, __LINE__, temp_len);
- int ret = mmi_voicechat_tts_websocket_send_text_data(send_buff_ptr, temp_len);
- if(0 > ret)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
- }
-
- if(NULL != send_buff_ptr)
- {
- lv_mem_free(send_buff_ptr);
- send_buff_ptr = NULL;
- }
-}
-
-#else
-
-void mmi_voicechat_send_tts_text_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_send_task_msg_send(MMI_VOICECHAT_MSG_TTS_TEXT_SEND, param, param_size);
-}
-
-static void mmi_voicechat_send_tts_text_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- uint32_t temp_len = 0;
- uint32_t send_buff_len = data_len + 256;
- char * send_buff_ptr = lv_mem_alloc(send_buff_len);
- if(NULL == send_buff_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: memory alloc fail\n", __FUNCTION__, __LINE__);
- return;
- }
- _lv_memset_00(send_buff_ptr, send_buff_len);
-
- temp_len = 0;
- temp_len += sprintf(send_buff_ptr + temp_len, "{\"header\":{\"event\":\"LongTextStream\",\"trace_id\":\"3fa6b9e6a30b407ea38ad7ae69e6c291\"},");
- temp_len += sprintf(send_buff_ptr + temp_len, "\"payload\":{\"voice\":\"xiaoyun\",\"format\":\"mp3\",\"sample_rate\":8000,\"volume\":50,\"speech_rate\":2,"); // 0,");
- temp_len += sprintf(send_buff_ptr + temp_len, "\"text\":\"%s\"}}", data_ptr); // 185 + data_len
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_SEND_TTS_TEXT_FILE, send_buff_ptr, temp_len);
-#endif
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: send_len=%d\n", __FUNCTION__, __LINE__, temp_len);
- //int ret = mmi_voicechat_tts_websocket_send_text_data(send_buff_ptr, temp_len);
- //if(0 > ret)
- {
- //VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: error=%d,send fail\n", __FUNCTION__, __LINE__, ret);
- //mmi_voicechat_list_screen_signal_weak_prompt();
- }
-
- if(NULL != send_buff_ptr)
- {
- lv_mem_free(send_buff_ptr);
- send_buff_ptr = NULL;
- }
-}
-
-#endif
-
-#if 0
-static void mmi_voicechat_tts_audio_data_recv_msg(void * param, uint32_t param_size)
-{
- mmi_voicechat_data_recv_task_msg_send(MMI_VOICECHAT_MSG_TTS_AUDIO_RECV, param, param_size);
-}
-
-static void mmi_voicechat_recv_tts_audio_data_process(void * data_ptr, uint32_t data_len)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
- cplog_printf("[@CHENG_DEBUG][%s][%d]: len=%d\n", __FUNCTION__, __LINE__, data_len);
- if(NULL == data_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
- return;
- }
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_TTS_FILE, data_ptr, data_len);
-#endif
-
- cJSON * json_root = cJSON_Parse(data_ptr);
- if(NULL != json_root)
- {
- cplog_printf("[@CHENG_DEBUG][%s][%d]: json root\n", __FUNCTION__, __LINE__);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts json\n", __FUNCTION__, __LINE__);
-
- cJSON * json_header = cJSON_GetObjectItem(json_root, "header");
- if(NULL != json_header)
- {
- char * value_event_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_header, "event"));
- if(0 == strncmp(value_event_str, "EndSynthesis", strlen("EndSynthesis")))
- {
- // end
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: EndSynthesis\n", __FUNCTION__, __LINE__);
-
- mmi_voicechat_tts_end_synthesis_action();
- }
- }
- }
- else
- {
- // tts data
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts data\n", __FUNCTION__, __LINE__);
-
- if(true == mmi_voicechat_tts_audio_store(data_ptr, data_len))
- {
-
- }
- }
-
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cJSON_Delete(json_root);
- json_root = NULL;
- }
-}
-
-void mmi_voicechat_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- mmi_voicechat_tts_audio_data_recv_msg(data_ptr, data_len);
-}
-#else
-
-void mmi_voicechat_websocket_recv_data_handler(char * data_ptr, int data_len, int payload_len, int payload_offset)
-{
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: size=%d\n", __FUNCTION__, __LINE__, data_len);
-
- if(NULL == data_ptr)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: no data\n", __FUNCTION__, __LINE__);
- return;
- }
-
-#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_TTS_FILE, data_ptr, data_len);
-#endif
-
- cJSON * json_root = cJSON_Parse(data_ptr);
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts json\n", __FUNCTION__, __LINE__);
-
- cJSON * json_header = cJSON_GetObjectItem(json_root, "header");
- if(NULL != json_header)
- {
- char * value_event_str = cJSON_GetStringValue(cJSON_GetObjectItem(json_header, "event"));
- if(0 == strncmp(value_event_str, "EndSynthesis", strlen("EndSynthesis")))
- {
- // end
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: EndSynthesis\n", __FUNCTION__, __LINE__);
-
- mmi_voicechat_tts_end_synthesis_action();
- }
- }
- }
- else
- {
- // tts data
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: tts data\n", __FUNCTION__, __LINE__);
-
- if(true == mmi_voicechat_tts_audio_store(data_ptr, data_len))
- {
-
- }
- }
-
- if(NULL != json_root)
- {
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- //cplog_printf("[@CHENG_DEBUG][%s][%d]: free json root\n", __FUNCTION__, __LINE__);
- cJSON_Delete(json_root);
- json_root = NULL;
- }
-}
-#endif
-
#endif
}
#endif
-static void mmi_voicechat_trans_websocket_open(void)
+static void mmi_voicechat_websocket_open(void)
{
if(false == s_voicechat_ws_open_flag)
{
}
}
-static void mmi_voicechat_chat_websocket_open(void)
-{
-
-}
-
-static void mmi_voicechat_tts_websocket_open(void)
-{
-
-}
-
-static void mmi_voicechat_trans_websocket_close(void)
+static void mmi_voicechat_websocket_close(void)
{
if(true == s_voicechat_ws_open_flag)
{
}
}
-static void mmi_voicechat_chat_websocket_close(void)
-{
-
-}
-
-static void mmi_voicechat_tts_websocket_close(void)
-{
-
-}
static void mmi_voicechat_msg_data_clean(void)
{
VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: size=%d,ptr=0x%x\n", __FUNCTION__, __LINE__, t_voicechat_item_info->text_data_size, t_voicechat_item_info->text_data_ptr);
#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_TRANS_RESULT_FILE, t_voicechat_item_info->text_data_ptr, t_voicechat_item_info->text_data_size);
+ //mmi_debug_info_write_to_file(VOICECHAT_RECV_TRANS_RESULT_FILE, t_voicechat_item_info->text_data_ptr, t_voicechat_item_info->text_data_size);
#endif
return true;
VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: ui_state=%d\n", __FUNCTION__, __LINE__, s_voicechat_ui_state);
// wb
- mmi_voicechat_trans_websocket_close();
- mmi_voicechat_chat_websocket_open();
+ //mmi_voicechat_trans_websocket_close();
+ //mmi_voicechat_chat_websocket_open();
if(MMI_VOICECHAT_UI_STATE_LISTENING == s_voicechat_ui_state || MMI_VOICECHAT_UI_STATE_LISTENING_MIDDLE == s_voicechat_ui_state)
{
void mmi_voicechat_trans_text_start_msg_send_fail(void)
{
- mmi_voicechat_trans_websocket_close();
+ //mmi_voicechat_trans_websocket_close();
mmi_voicechat_listening_stop(true);
lv_voicechat_ext_t * ext = (lv_voicechat_ext_t *)mmi_voicechat_actId_ext_get(ACT_ID_VOICECHAT_MAIN);
void mmi_voicechat_trans_text_audio_msg_send_fail(void)
{
- mmi_voicechat_trans_websocket_close();
- mmi_voicechat_trans_websocket_open();
+ mmi_voicechat_websocket_close();
+ mmi_voicechat_websocket_open();
}
printf("[@CHENG_DEBUG][%s][%d]: size=%d,ptr=0x%x\n", __FUNCTION__, __LINE__, t_voicechat_item_info->text_data_size, t_voicechat_item_info->text_data_ptr);
#ifdef MMI_VOICECHAT_DEBUG_TO_FILE
- mmi_debug_info_write_to_file(VOICECHAT_RECV_CHAT_RESULT_FILE, t_voicechat_item_info->text_data_ptr, t_voicechat_item_info->text_data_size);
+ //mmi_debug_info_write_to_file(VOICECHAT_RECV_CHAT_RESULT_FILE, t_voicechat_item_info->text_data_ptr, t_voicechat_item_info->text_data_size);
#endif
return true;
VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: ui_state=%d\n", __FUNCTION__, __LINE__, s_voicechat_ui_state);
// wb
- mmi_voicechat_chat_websocket_close();
- mmi_voicechat_tts_websocket_open();
+ //mmi_voicechat_chat_websocket_close();
+ //mmi_voicechat_tts_websocket_open();
if((MMI_VOICECHAT_UI_STATE_THINKING == s_voicechat_ui_state) || (MMI_VOICECHAT_UI_STATE_LIST == s_voicechat_ui_state))
{
if(NULL != data_ptr && 0 != data_len)
{
- mmi_voicechat_send_chat_text_msg(data_ptr, data_len);
+ //mmi_voicechat_send_chat_text_msg(data_ptr, data_len);
}
}
_lv_memset_00(send_ptr, (output_len + output_len / 9 + 1));
send_len = mmi_voicechat_send_tts_text_data_escape_character(data_ptr, output_len, send_ptr);
-#if 0
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: send_len=%d\n", __FUNCTION__, __LINE__, send_len);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[0],send_ptr[1],send_ptr[2],send_ptr[3],send_ptr[4],send_ptr[5],send_ptr[6],send_ptr[7],send_ptr[8],send_ptr[9]);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[10],send_ptr[11],send_ptr[12],send_ptr[13],send_ptr[14],send_ptr[15],send_ptr[16],send_ptr[17],send_ptr[18],send_ptr[19]);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[20],send_ptr[21],send_ptr[22],send_ptr[23],send_ptr[24],send_ptr[25],send_ptr[26],send_ptr[27],send_ptr[28],send_ptr[29]);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[30],send_ptr[31],send_ptr[32],send_ptr[33],send_ptr[34],send_ptr[35],send_ptr[36],send_ptr[37],send_ptr[38],send_ptr[39]);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[40],send_ptr[41],send_ptr[42],send_ptr[43],send_ptr[44],send_ptr[45],send_ptr[46],send_ptr[47],send_ptr[48],send_ptr[49]);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[50],send_ptr[51],send_ptr[52],send_ptr[53],send_ptr[54],send_ptr[55],send_ptr[56],send_ptr[57],send_ptr[58],send_ptr[59]);
- VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%d]: %#X %#X %#X %#X %#X %#X %#X %#X %#X %#X\n", __LINE__,
- send_ptr[60],send_ptr[61],send_ptr[62],send_ptr[63],send_ptr[64],send_ptr[65],send_ptr[66],send_ptr[67],send_ptr[68],send_ptr[69]);
-#endif
-
- mmi_voicechat_send_tts_text_msg(send_ptr, send_len);
+ //mmi_voicechat_send_tts_text_msg(send_ptr, send_len);
s_voicechat_tts_text_sent_size += output_len;
lv_mem_free(send_ptr);
else if(MMI_VOICECHAT_TTS_AUDIO_PRI > priority)
{
// wb
- mmi_voicechat_tts_websocket_close();
+ //mmi_voicechat_tts_websocket_close();
// res
mmi_voicechat_tts_audio_ll_clean();
VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
// websocket
- mmi_voicechat_trans_websocket_close();
- mmi_voicechat_chat_websocket_close();
- mmi_voicechat_tts_websocket_close();
+ mmi_voicechat_websocket_close();
// data task
mmi_voicechat_data_task_delete();
{
VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
- mmi_voicechat_chat_websocket_close();
+ //mmi_voicechat_chat_websocket_close();
lv_voicechat_ext_t * ext = (lv_voicechat_ext_t *)mmi_voicechat_actId_ext_get(ACT_ID_VOICECHAT_MAIN);
if(NULL == ext)
_lv_memset_00(sending_buf, sending_size + 1);
_lv_memcpy(sending_buf, ext->record_buffer + s_voicechat_recording_sent_size, sending_size);
- mmi_voicechat_send_trans_audio_msg(sending_buf, sending_size);
+ //mmi_voicechat_send_trans_audio_msg(sending_buf, sending_size);
lv_mem_free(sending_buf);
s_voicechat_recording_sent_size += sending_size;
}
Hal_Audio_Manage_End_Ind(MMI_VOICECHAT_TTS_AUDIO_PRI);
// wb
- mmi_voicechat_tts_websocket_close();
- mmi_voicechat_trans_websocket_open();
+ //mmi_voicechat_websocket_close();
+ //mmi_voicechat_websocket_open();
// res
mmi_voicechat_msg_data_clean();
{
VOICECHAT_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
- mmi_voicechat_send_trans_start_msg(NULL, 0);
+ mmi_voicechat_send_start_request_msg(NULL, 0);
s_voicechat_recording_sent_size = 0;
Hal_Record_Buffer_With_Format_Req(ext->record_buffer,
mmi_voicechat_data_task_create();
watch_set_suspend_enable(false, ACT_ID_VOICECHAT_MAIN, 0);
+ //mmi_voicechat_websocket_close();
+ mmi_voicechat_websocket_open();
+
// cont_default
lv_obj_t * cont_default = lv_cont_create(obj, NULL);
lv_obj_set_size(cont_default, lv_obj_get_width(obj), lv_obj_get_height(obj));