ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
} else if(currentView == THUNDERBIRD_DIALOGUEVIEW && currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING) {
// 检查 WebSocket 连接状态,如果正在重连,等待重连完成
- int wsState = ln_ws_get_connection_state();
- bool wsConnected = (wsState == 2); // WS_STATE_CONNECTED = 2
+ // int wsState = ln_ws_get_connection_state();
+ // bool wsConnected = (wsState == 2); // WS_STATE_CONNECTED = 2
- if (!wsConnected) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleDialogueFunction: WebSocket未连接(状态=%d),等待连接完成", wsState);
- // WebSocket 未连接,不执行操作,避免状态混乱
- return;
- }
+ // if (!wsConnected) {
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleDialogueFunction: WebSocket未连接(状态=%d),等待连接完成", wsState);
+ // // WebSocket 未连接,不执行操作,避免状态混乱
+ // return;
+ // }
// 通过异步线程执行复杂操作,避免阻塞UI线程和栈溢出
#if 0
// ThunderBirdMainView::ComplexOperationThread(true);
}
else if(currentView == THUNDERBIRD_DIALOGUEVIEW)
{
- if(isDialogueExitFinished == false)
- {
- return;
- }
- isDialogueExitFinished = false;
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "退出对话模式,当前子状态: %d", currentSubView);
ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);
// 停止实际的音频播放
// ai_media_play_stop();
// 退出对话模式时恢复表情
- //如果ws未连接,则不发送打断请求
- int wsState = ln_ws_get_connection_state();
- bool wsConnected = (wsState == 2); // WS_STATE_CONNECTED = 2
- if(wsConnected)
- {
AI_ForceInterrupt();
ln_ws_send_voice_chat_interrupt("退出对话");
- }
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
// 退出对话模式,执行清理
// 先设置退出标志,防止录音结束回调误判为正常录音结束
isDialogueing = false;
// 等待视频切换完成,避免在视频切换过程中退出导致资源冲突
- // if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::IsSwitchingVideo()) {
- // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdPresenter::HandleFuncKeyLongPress: 等待视频切换完成");
- // ThunderBirdMainView::WaitForVideoSwitchComplete(2000);
- // }
+ if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::IsSwitchingVideo()) {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdPresenter::HandleFuncKeyLongPress: 等待视频切换完成");
+ ThunderBirdMainView::WaitForVideoSwitchComplete(2000);
+ }
// 检查绑定状态,如果未绑定则跳转到 THUNDERBIRD_GUIDEVIEW_5
if (!ThunderBirdModel::GetInstance()->getbind_status()) {
{
ThunderBirdReminderView::GetInstance()->HideAll();
}
- isDialogueExitFinished = true;
+
}
//当为故事模式
else if(currentView == THUNDERBIRD_LULLABYVIEW && currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4)