修改vad未初始化操作
authorxue <2144439972@qq.com>
Sat, 6 Dec 2025 12:25:06 +0000 (20:25 +0800)
committerxue <2144439972@qq.com>
Sat, 6 Dec 2025 12:25:06 +0000 (20:25 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdDialogueView.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp

index efeb500..c51630d 100644 (file)
@@ -218,7 +218,7 @@ namespace OHOS
         }
         case THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW:
         {
-            uapi_set_sleep_mode_active(false);//睡眠模式激活标志位
+            // uapi_set_sleep_mode_active(false);//睡眠模式激活标志位
             ThunderBirdModel::GetInstance()->HighFrequence();
             // 从ThunderBirdModel获取当前表情和状态文本
             std::string currentStatusText = "发呆中...  ";
index 71f3b70..257cefe 100644 (file)
@@ -833,7 +833,7 @@ namespace OHOS
                 break;
             case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5:
                 ln_ws_end_audio_chat();//结束对话
-                uapi_set_sleep_mode_active(false);//睡眠模式激活标志位
+                // uapi_set_sleep_mode_active(false);//睡眠模式激活标志位
                 do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_STORY_FINISH, NULL, 0);//确认结束哄睡
                 // 退出哄睡模式时恢复时间线表情
                 ThunderBirdModel::GetInstance()->OnExitLullabyMode();
@@ -1124,12 +1124,17 @@ namespace OHOS
             || (currentView == THUNDERBIRD_GUIDEVIEW))
             {
                 do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT, NULL, 0);
-                // 检查WebSocket连接状态和VAD认证状态
+                // 检查WebSocket连接状态
                 int wsState = ln_ws_get_connection_state();
                 bool wsConnected = (wsState == 2); // WS_STATE_CONNECTED = 2
-                // bool vadEnabled = ln_ws_is_vad_server_enabled();
+                // 检查vad认证状态
+                bool vadInitialized = ln_ws_is_vad_server_initialized();
+                bool vadAuthSuccess = ln_ws_is_vad_server_auth_success();
+                if(vadAuthSuccess == true || vadInitialized == true)
+                {
+                    vadFirstSuccess = true;
+                }
 
-                
                 if (!wsConnected) {
                     // 不满足条件,显示提示并设置2秒定时器自动隐藏
                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入对话模式条件不满足: wsConnected=%d", wsConnected);
@@ -1138,17 +1143,27 @@ namespace OHOS
                     ThunderBirdMainView::GetInstance()->ChangeThunderBirdReminderView(THUNDERBIRD_REMINDERVIEW);
                     ThunderBirdReminderView *reminderView = ThunderBirdReminderView::GetInstance();
                     if (reminderView) {
-                        if (!wsConnected) {
                             // WebSocket未连接,显示网络断开提醒
                             reminderView->Show(ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_NETWORK_DISCONNECT);
                             reminderView->dialogue_unnetwork();
-                        }
                         // 显示后再设置2秒定时器自动隐藏提示
-                    } else {
-                        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdReminderView::GetInstance() returned NULL");
-                    }
+                    } 
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WebSocket未连接,不进入对话模式");
                     return; // 不满足条件,不进入对话模式
                 }
+                else if(vadAuthSuccess == false)
+                {
+                    ThunderBirdModel::GetInstance()->StartReminderHideTimer(2000);
+                    ThunderBirdMainView::GetInstance()->ChangeThunderBirdReminderView(THUNDERBIRD_REMINDERVIEW);
+                    ThunderBirdReminderView *reminderView = ThunderBirdReminderView::GetInstance();
+                    if (reminderView) 
+                        {
+                            reminderView->Show(ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_VAD_INITIALIZING);
+                            reminderView->dialogue_vad_initializing();
+                        }
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "vad认证不成功,不进入对话模式");
+                    return;
+                }
                 
                 // 条件满足,进入对话模式
                 ThunderBirdModel::GetInstance()->LowFrequence();//减低视频帧率
@@ -1173,26 +1188,7 @@ namespace OHOS
                 else
                 {
                     ThunderBirdDialogueView::GetInstance()->Isband(true);
-                }
-                bool vadInitialized = ln_ws_is_vad_server_initialized();
-                bool vadAuthSuccess = ln_ws_is_vad_server_auth_success();
-                if(vadAuthSuccess == true || vadInitialized == true)
-                {
-                    vadFirstSuccess = true;
-                }
-                if(vadFirstSuccess == false)
-                {
-                ThunderBirdModel::GetInstance()->StartReminderHideTimer(3000);
-                ThunderBirdMainView::GetInstance()->ChangeThunderBirdReminderView(THUNDERBIRD_REMINDERVIEW);
-                ThunderBirdReminderView *reminderView = ThunderBirdReminderView::GetInstance();
-                if (reminderView) 
-                    {
-                        reminderView->Show(ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_VAD_INITIALIZING);
-                        reminderView->dialogue_vad_initializing();
-                    }
-                    vadFirstSuccess = true;
-                }
-                
+                }    
                 isDialogueing = true;
                 ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 打开屏幕常亮
                 // 进入对话模式时记录当前表情