取消哄睡提示提示界面的vad
authorxue <2144439972@qq.com>
Mon, 1 Dec 2025 06:38:46 +0000 (14:38 +0800)
committerxue <2144439972@qq.com>
Mon, 1 Dec 2025 06:38:46 +0000 (14:38 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdLullabyView.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp

index 975f52a..58fc16e 100644 (file)
@@ -306,6 +306,13 @@ namespace OHOS
         }
         case THUNDERBIRD_LULLABYVIEW_3:
         {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入故事模式,关闭VAD");
+            int vad_ret = ln_ws_disable_vad_server();
+            if (vad_ret == 0) {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "VAD已成功关闭");
+            } else {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "关闭VAD失败: %d", vad_ret);
+            }
             listenAnimator->Stop();
             // 重置哄睡录音标志位,确保进入界面时状态正确
             if (ThunderBirdPresenter::GetInstance()) {
index 0f14221..40db336 100644 (file)
@@ -2964,6 +2964,7 @@ extern "C" {
         
         // 检查是否是故事模式且已finished
         if (currentView == THUNDERBIRD_LULLABYVIEW &&
+            currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4 &&
             m_storyModeFinished)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioPlaybackEnd: 故事模式finished且音频播放结束,结束故事模式");
index 8021fac..6e8b346 100644 (file)
@@ -544,6 +544,9 @@ namespace OHOS
                 
                 if(isLullabyRecording == false)
                 {
+                    ln_ws_end_audio_chat();//结束对话
+                    AI_ForceInterrupt();
+                    // ln_ws_send_voice_chat_interrupt("进入哄睡");
                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "开始录音");
                     // ThunderBirdModel::GetInstance()->StartRecording();
                     isLullabyRecording = true;
@@ -771,11 +774,20 @@ namespace OHOS
                  
                     break;
                 case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3:
-                ln_ws_end_audio_chat();//结束对话
-                AI_ForceInterrupt();
-                ln_ws_send_voice_chat_interrupt("退出哄睡");
-                ln_ws_start_audio_chat(LN_AUDIO_CHAT_VOICE_CHAT_REQUEST);//开始对话
-                ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
+                {
+                    //开启vad
+                    int vad_ret = ln_ws_enable_vad_server();
+                    if (vad_ret == 0) {
+                        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "VAD已成功启用");
+                    } else {
+                        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "启用VAD失败: %d", vad_ret);
+                    }
+                    ln_ws_end_audio_chat();//结束对话
+                    AI_ForceInterrupt();
+                    ln_ws_send_voice_chat_interrupt("退出哄睡");
+                    ln_ws_start_audio_chat(LN_AUDIO_CHAT_VOICE_CHAT_REQUEST);//开始对话
+                    ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
+                }
                     break;
                 case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5:
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);