bool getentryTextViewState(void);
+ bool get_is_first_receive();
+ void set_is_first_receive(bool);
+ void delete_start_line_break_str(std::string &str);
+
private:
AiVoiceModel();
~AiVoiceModel();
uint8_t select4gorbt{-1}; //0:4g 1:蓝牙 -1:未连接
bool is_delay_start_asr{false};
+ bool isFirstReceive{true}; //静态变量标记是否是首次接收
};
}
{
if (!OHOS::AiVoiceModel::GetInstance().GetIsLimitDisplayed()) // 如果ai答案没有显示到极限了,就更新ai答案字符串
{
+ delete_start_line_break_str(str);
aiAnswerStr += str;
/* -------------------------------------------------------------------------- */
// 累积接收到的文本
userQuestionStr = "";
aiAnswerStr = "";
accumulatedText = "";
+ set_is_first_receive(true);
}
/*获取AI音频路径*/
static uint8_t tts_record_flag = 0;
// 添加一个静态变量用于跟踪连续出现0的次数
static int s_tts_tick_zero_count = 0;
- static int continue_zero_count = 0; // 静态变量:记录连续为0的次数(初始化为0)
+ static int continue_zero_count = 0; // 静态变量:记录连续为0的次数(初始化为0)
static void AI4G_IS_START_TTS_CallbackProc(int data)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AI4G_IS_START_TTS_CallbackProc:%s", AiVoiceModel::GetInstance().GetAccumulatedText().c_str());
}
g_ai4g_is_start_tts_play_Handle = nullptr;
AI4G_IS_START_TTS_PLAY_CNT = NUMBER_TEN;
- s_tts_tick_zero_count = 0; // 重置计数器
- continue_zero_count = 0; // 重置静态变量
+ s_tts_tick_zero_count = 0; // 重置计数器
+ continue_zero_count = 0; // 重置静态变量
}
}
return entryTextViewState;
}
+ bool AiVoiceModel::get_is_first_receive()
+ {
+ return isFirstReceive;
+ }
+
+ void AiVoiceModel::set_is_first_receive(bool val)
+ {
+ isFirstReceive = val;
+ }
+
+ void AiVoiceModel::delete_start_line_break_str(std::string &str)
+ {
+ if (GetSelect4gorbt() == AI_SELECT_4G && GetAiModelTextId() == STR_AIMODELS_DOUBAO)
+ {
+ if (isFirstReceive)
+ {
+ isFirstReceive = false;
+ // 检查是否以"\n\n"开头
+ if (str.size() >= 2 && str[0] == '\n' && str[1] == '\n')
+ {
+ // 去除开头的两个换行符
+ str = str.substr(2);
+ }
+ }
+ }
+ }
+
/*获取已选择的ai模型的textid*/
int AiVoiceModel::GetAiModelTextId()
{