if (ThunderBirdMainView::GetInstance()) {
int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
int currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView();
+ //如果已经在提醒界面。则先进入发呆中界面
+ if (currentView == THUNDERBIRD_REMINDERVIEW && currentSubView == ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER) {
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+ //关闭提醒音频
+ ln_schedule_reminder_set_volume_zero();
+
+ }
ThunderBirdModel::GetInstance()->StartReminderHideTimer(3000);
ThunderBirdReminderView *reminderView = ThunderBirdReminderView::GetInstance();
if (reminderView)
//若为意图识别结果,则跳转到4,否则跳转到2
if(is_intention_result == 0)
{
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT_VAD_DISABLE, NULL, 0);
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT_VAD_DISABLE, NULL, 0);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 非意图识别结果,跳转到4");
+ // 对话过程中收到小程序哄睡:关闭VAD,隐藏收音指示灯
+ if (ThunderBirdMainView::GetInstance() && ThunderBirdMainView::GetInstance()->listenIcon) {
+ ThunderBirdMainView::GetInstance()->listenIcon->SetVisible(false);
+ }
// 重置故事模式finished标志,确保每次进入故事模式时标志位是干净的
m_storyModeFinished = false;
// 进入哄睡模式时切换为眨眼表情
void ThunderBirdModel::HandleAudioPlaybackStart()
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioPlaybackStart");
+ ThunderBirdMainView *view = ThunderBirdMainView::GetInstance();
+ if (view) {
+ int currentView = view->GetCurrentView();
+ int currentSubView = view->GetCurrentSubView();
+ // 对话模式下若“音频开始播放”早于“录音结束”回调:此时仍为聆听中,需先切到说话中再推送文本,避免出现“聆听中还在播放上一句”的错位
+ if (currentView == THUNDERBIRD_DIALOGUEVIEW &&
+ currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioPlaybackStart: 对话聆听中收到播放开始,先切到说话中");
+ view->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
+ if (view->listenIcon) {
+ view->listenIcon->SetVisible(false);
+ }
+ }
+ }
// 音频开始播放时,从队列中取出对应的文本并推送
DequeueAndPushAudioText();
// 检查是否在THUNDERBIRD_LULLABYVIEW_3界面,如果是,标记角色开始询问
- int currentView = ThunderBirdMainView::GetInstance()->GetCurrentView();
- int currentSubView = ThunderBirdMainView::GetInstance()->GetCurrentSubView();
- if (currentView == THUNDERBIRD_LULLABYVIEW &&
- currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3)
- {
- m_lullabyView3InquiryStarted = true;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioPlaybackStart: THUNDERBIRD_LULLABYVIEW_3界面,角色开始询问");
+ if (view) {
+ int currentView = view->GetCurrentView();
+ int currentSubView = view->GetCurrentSubView();
+ if (currentView == THUNDERBIRD_LULLABYVIEW &&
+ currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3)
+ {
+ m_lullabyView3InquiryStarted = true;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioPlaybackStart: THUNDERBIRD_LULLABYVIEW_3界面,角色开始询问");
+ }
}
}