#include <stdint.h>
uint8_t getselect4gorbtai(void);
+ uint8_t get_clear_queue_stream(void);
+ void set_clear_queue_stream(uint8_t);
#ifdef __cplusplus
#if __cplusplus
return 0;
}
+ static uint8_t clear_queue_stream = 0;
+ uint8_t get_clear_queue_stream(void)
+ {
+ return clear_queue_stream;
+ }
+
+ // 清空队列中可能存在的音频数据
+ void set_clear_queue_stream(uint8_t state)
+ {
+ clear_queue_stream = state;
+ }
+
#ifdef __cplusplus
#if __cplusplus
}
#include "pm.h"
#include "pm_veto.h"
#include <asm/delay.h>
+#include <aivoice/include/AiVoiceModelC.h>
void remove_4GAI_vote(void)
{
if (model->GetSelect4gorbt() == AI_SELECT_4G)
{
AiVoiceModel::GetInstance().stop_ai4g_tts_play_timer();
- usleep(50000);
+ // usleep(50000);
+ LOS_Msleep(50);
uapi_UI_start_asr();
ChangeViewAndLogicOperator(AIVOICE_RETURN_RESULT_TEXT_VIEWID, AIVOICE_AIMODE_CONNECTING);
return true;
{
AiVoiceModel::GetInstance().stop_ai4g_tts_play_timer();
// model->cancel_tts_play();
+ set_clear_queue_stream(1);
+ // usleep(50000);
+ LOS_Msleep(50);
dinit_ai_task();
- usleep(50000);
}
}
ChangeViewAndLogicOperator(it->second.first, it->second.second);
\r
if(getselect4gorbtai() == 1) //选择的是4g\r
{\r
+ if(get_clear_queue_stream())\r
+ {\r
+ // osal_msg_queue_write_head_copy(g_ble_Ai_record_queue, (void *)&mail,sizeof(blesrv_custom_cmd_t), 0);\r
+ int quesize = osal_msg_queue_get_msg_num(g_ble_Ai_record_queue);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_MAIN_SERVICE,"do_uart_slip_cmd quesize %d\n",quesize);\r
+ while(quesize)\r
+ {\r
+ osal_msg_queue_read_copy(g_ble_Ai_record_queue, (void *)&mail, &msgsize,\r
+ OSAL_MSGQ_WAIT_FOREVER);\r
+ if(mail.msg_data)\r
+ {\r
+ free(mail.msg_data);\r
+ mail.msg_data = NULL;\r
+ }\r
+ quesize--;\r
+ }\r
+ set_clear_queue_stream(0);\r
+ }\r
if(mail.msg_data && mail.msg_len!=0)\r
{\r
if(server_handle == 200 ||server_handle == 201 )\r
#include "soc_osal.h"
#include "common_def.h"
#include "los_printf.h"
+#include <aivoice/include/AiVoiceModelC.h>
#define CAT1_SERVICE_TASK_SIZE (2048)
#define CAT1_SERVICE_TASK_PRIO 5
{
if(disconnect_server==0)
{
+ set_clear_queue_stream(1);
goto TTS_SATRT;
}
tts_reconnect=0;