修复取消哄睡收音指示灯错误
authorxue <2144439972@qq.com>
Mon, 16 Mar 2026 08:37:14 +0000 (16:37 +0800)
committerxue <2144439972@qq.com>
Mon, 16 Mar 2026 08:37:14 +0000 (16:37 +0800)
code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp

index 784a4a3..086ba66 100644 (file)
@@ -882,23 +882,24 @@ namespace OHOS
                     AI_ForceInterrupt();
                     ln_ws_send_voice_chat_interrupt("退出哄睡");
                     ln_ws_start_audio_chat(LN_AUDIO_CHAT_VOICE_CHAT_REQUEST);//开始对话
+                    ln_ws_set_vad_recognition_enabled(true); // 退出到对话聆听界面,开启 VAD 才能正常收音
+                    if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
+                        ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(true); // 显示小绿点
+                    }
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING);
                     isDialogueing = true; // 进入对话模式
                  
                     break;
                 case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3:
                 {
-                    //开启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);//开始对话
+                    ln_ws_set_vad_recognition_enabled(true); // 从哄睡询问界面退出到对话聆听,开启 VAD 才能正常收音
+                    if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
+                        ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(true); // 显示小绿点
+                    }
                     ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING);
                     isDialogueing = true; // 进入对话模式
                 }