/*设置用户问题的字符串*/
void AiVoiceModel::SetUserQuestionStr(std::string str)
{
+ if (GetSelect4gorbt() == AI_SELECT_4G)
+ {
+ if(str.empty())
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "传入的问题为空");
+ return;
+ }
+ userQuestionStr = str;
+ if (!entryTextViewState)
+ {
+ SendMsgToUIService(UI_AI_JUMP_TO_RESULT_VIEW, 0, nullptr, 0);
+ entryTextViewState = true; // 进入返回结果界面的标志 避免重复发消息
+ usleep(50000); // 延时等待创建完成,0.05秒
+ }
+ /* -------------------------------------------------------------------------- */
+ SendMsgToUIService(UI_UPDATE_USER_QUESTION_STR, 0, nullptr, 0);
+ }
+ else if (GetSelect4gorbt() == AI_SELECT_BT)
+ {
if (!entryTextViewState)
{
SendMsgToUIService(UI_AI_JUMP_TO_RESULT_VIEW, 0, nullptr, 0);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "拼接的问题:%s", userQuestionStr.c_str());
/* -------------------------------------------------------------------------- */
SendMsgToUIService(UI_UPDATE_USER_QUESTION_STR, 0, nullptr, 0);
+ }
}
/*获取Ai回答的字符串*/
int textId = 0;
selectAiModelToTextId = {
{0, {STR_DEEPSEEK, 4}},
- {1, {STR_AIMODES_CHATGPT, 1}},
+ {1, {STR_JIUTIAN, 5}},
{2, {STR_AIMODELS_DOUBAO, 3}},
{3, {STR_AIMODES_WENXINYIYAN, 0}},
{4, {STR_AIMODES_KIMI, 2}},
- {5, {STR_IFLYTEK_SPARK, 5}},
+ {5, {STR_AIMODES_CHATGPT, 1}},
};
textId = STR_DEEPSEEK;
static uint8_t type_ai=0;
uint8_t chat_reconnect=0;
+#if 1
+#define ASR_HODE
+static uint8_t asr_is_stop=0;
+#endif
+
void uapi_UI_start_asr(uint8_t type)
{
memset_s(result_str_asr,AI_RESULT_STR_LEN,0,AI_RESULT_STR_LEN);
// uapi_stop_tts();
-
+ #ifdef ASR_HODE
+ asr_is_stop=0;
+ #endif
type_ai=type;
if(chat_client)
{
asr_need_stop=1;
}
-#if 1
-#define ASR_HODE
-#endif
+
void uapi_UI_stop_asr(void)
{
if(stop_AudioCaptureProcess_AI())
{
-
-
+ asr_is_stop=1;
}
}
#ifdef ASR_HODE
memcpy_s(&result_str_asr[strlen(result_str_asr)],AI_RESULT_STR_LEN/2,result_str,strlen(result_str));
+
+ if(asr_is_stop==1 && strlen(result_str_asr))
+ {
+ send_ai_txt(0,result_str_asr);
+ ble_set_ai_Question_str(result_str_asr);
+
+ memset_s(result_str_asr,AI_RESULT_STR_LEN,0,AI_RESULT_STR_LEN);
+ }
+
+
#else
memset_s(result_str_asr,256,0,256);
memcpy_s(result_str_asr,256,result_str,strlen(result_str));