WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "强制发送文本: %s (长度: %zu)",
segment.c_str(), segment.length());
- uapi_start_tts_single_txt((char *)segment.c_str());
- // LOS_Msleep(100);
-
- // 发送后清空累积文本
- accumulatedText.clear();
+ bool sendret = uapi_start_tts_single_txt((char *)segment.c_str());
+ // 如果为true发送成功,如果发送失败等待下次发送不清空文本
+ if (sendret)
+ {
+ // 发送后清空累积文本
+ accumulatedText.clear();
+ }
+ else
+ {
+ // 发送失败,等待下次发送
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "发送失败,等待下次发送");
+ }
}
else
{
segment.end());
// 发送到TTS播放
+ bool ret = false;
if (!segment.empty())
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "按标点发送分段: %s (长度: %zu)",
segment.c_str(), segment.length());
- uapi_start_tts_single_txt((char *)segment.c_str());
- // LOS_Msleep(100);
+ ret = uapi_start_tts_single_txt((char *)segment.c_str());
}
- // 更新累积文本
- if (pos + 1 < text.length())
+ if (ret)
{
- accumulatedText = text.substr(pos + 1);
+ // 更新累积文本
+ if (pos + 1 < text.length())
+ {
+ accumulatedText = text.substr(pos + 1);
+ }
+ else
+ {
+ accumulatedText.clear();
+ }
}
else
{
- accumulatedText.clear();
+ // 发送失败,等待下次发送
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "发送失败,等待下次发送");
}
}
{
// uapi_stop_asr();
// stop_AudioCaptureProcess_AI();
- uapi_UI_stop_asr();
+ // uapi_UI_stop_asr();
}
else if (GetSelect4gorbt() == AI_SELECT_BT)
{
AiVoicePresenter *p_AiVoicePresenter = AiVoicePresenter::GetInstance();
if (AiVoicePresenter::GetInstance() && AivoiceListeningView::GetInstance())
{
+ uapi_UI_stop_asr();
AiVoicePresenter::GetInstance()->ChangeViewAndLogicOperator(AIVOICE_LISTENING_VIEWID, AIVOICE_THINKING_VIEWID); // 切换到思考中界面
}
}
// 添加一个静态变量用于跟踪连续出现0的次数
static int s_tts_tick_zero_count = 0;
static int continue_zero_count = 0; // 静态变量:记录连续为0的次数(初始化为0)
- static int fouce_count = 0; //
+ static int fouce_count = 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());
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "get_bk_websocket_tts_tick:%d(不满足发送条件)", get_bk_websocket_tts_tick());
fouce_count++;
- if(fouce_count >= 20)
+ if (fouce_count >= 20)
{
if (!get_ai_osal_msg_queue_is_full())
{