ThunderBirdModel::GetInstance()->LowFrequence();//减低视频帧率
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::Show: THUNDERBIRD_LULLABYVIEW_4");
+ // 进入故事模式时关闭VAD
+ 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);
+ }
+
// 检查是否在对话模式
ThunderBirdPresenter *presenter = ThunderBirdPresenter::GetInstance();
if(presenter && presenter->isDialogueing)
int16_t currentView = view->GetCurrentView();
int16_t currentSubView = view->GetCurrentSubView();
- // 检查是否是聆听界面超时,需要自动跳转到说话界面
+ // 检查是否是聆听界面超时,需要自动跳转到状态界面
if (currentView == THUNDERBIRD_DIALOGUEVIEW &&
currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "聆听界面超时,自动跳转到说话界面");
- view->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
- ln_ws_end_audio_chat();
+ view->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+ ln_ws_end_audio_chat();//结束对话
+ // 退出对话模式时恢复表情
+ AI_ForceInterrupt();
+ ln_ws_send_voice_chat_interrupt("退出对话");
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
+ ThunderBirdPresenter::GetInstance()->SetDialogueing(false);
+ ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); // 关闭屏幕常亮
+ ThunderBirdModel::GetInstance()->HighFrequence();//恢复视频帧率
+ ThunderBirdModel::GetInstance()->OnExitDialogueMode();
}
//检查是否是播放界面超时,需要自动跳转到状态界面
else if (currentView == THUNDERBIRD_DIALOGUEVIEW &&
// 重置故事模式finished标志
m_storyModeFinished = false;
+ // 退出故事模式时重新启用VAD
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "退出故事模式,重新启用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);
+ }
+
if (ThunderBirdMainView::GetInstance()) {
int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView(); //获取当前视图
ln_ws_audio_deinit();//功耗优化