static constexpr int16_t TB_LISTEN_Y = 151;
static constexpr int16_t TB_LISTEN_W = 36;
static constexpr int16_t TB_LISTEN_H = 36;
- static constexpr int16_t TB_LISTEN_FRAMES = 95;
+ static constexpr int16_t TB_LISTEN_FRAMES = 61;
static constexpr int16_t TB_LISTEN_INTERVAL = 41;
static constexpr const char *TB_LISTEN_PATH = "/user/res/animated_icon/listen/";
TB_LISTEN_IMAGE_59,
TB_LISTEN_IMAGE_60,
TB_LISTEN_IMAGE_61,
- TB_LISTEN_IMAGE_62,
- TB_LISTEN_IMAGE_63,
- TB_LISTEN_IMAGE_64,
- TB_LISTEN_IMAGE_65,
- TB_LISTEN_IMAGE_66,
- TB_LISTEN_IMAGE_67,
- TB_LISTEN_IMAGE_68,
- TB_LISTEN_IMAGE_69,
- TB_LISTEN_IMAGE_70,
- TB_LISTEN_IMAGE_71,
- TB_LISTEN_IMAGE_72,
- TB_LISTEN_IMAGE_73,
- TB_LISTEN_IMAGE_74,
- TB_LISTEN_IMAGE_75,
- TB_LISTEN_IMAGE_76,
- TB_LISTEN_IMAGE_77,
- TB_LISTEN_IMAGE_78,
- TB_LISTEN_IMAGE_79,
- TB_LISTEN_IMAGE_80,
- TB_LISTEN_IMAGE_81,
- TB_LISTEN_IMAGE_82,
- TB_LISTEN_IMAGE_83,
- TB_LISTEN_IMAGE_84,
- TB_LISTEN_IMAGE_85,
- TB_LISTEN_IMAGE_86,
- TB_LISTEN_IMAGE_87,
- TB_LISTEN_IMAGE_88,
- TB_LISTEN_IMAGE_89,
- TB_LISTEN_IMAGE_90,
- TB_LISTEN_IMAGE_91,
- TB_LISTEN_IMAGE_92,
- TB_LISTEN_IMAGE_93,
- TB_LISTEN_IMAGE_94,
- TB_LISTEN_IMAGE_95,
};
ThunderBirdLullabyView::ThunderBirdLullabyView()
{
if (listenAnimator == nullptr)
{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::EnsureListenAnimator: 创建聆听动画");
listenPathsArray = TB_LULLABY_LISTEN_PATHS;
listenAnimator = new UIImageAnimatorView();
if (listenAnimator == nullptr)
}
listenAnimator->SetPosition(TB_LISTEN_X, TB_LISTEN_Y, TB_LISTEN_W, TB_LISTEN_H);
listenAnimator->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
- listenAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ listenAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
listenAnimator->SetImageAnimatorSrc(listenImageInfo, TB_LISTEN_FRAMES, TB_LISTEN_INTERVAL);
- listenAnimator->SetRepeat(false);
+ listenAnimator->SetRepeat(true);
listenAnimator->SetRepeatTimes(1);
listenAnimator->SetResizeMode(UIImageView::COVER);
//listenAnimator->SetAnimatorStopListener(this);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::EnsureListenAnimator: 动画配置完成,位置=(%d,%d), 大小=(%d,%d), 帧数=%d",
+ TB_LISTEN_X, TB_LISTEN_Y, TB_LISTEN_W, TB_LISTEN_H, TB_LISTEN_FRAMES);
}
return true;
}
}
case THUNDERBIRD_LULLABYVIEW_3:
{
+ ln_ws_start_audio_chat(LN_AUDIO_CHAT_CHOOSE_STORY_REQUEST);
ThunderBirdMainView::GetInstance()->OpenBackGround();
if (TextLabel)
{
TextLabel->SetRollSpeed(35);
TextLabel->SetVisible(true);
}
- if (listenAnimator) { listenAnimator->SetVisible(true); }
+ if (listenAnimator) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::Show: 启动聆听动画");
+ listenAnimator->SetVisible(true);
+ listenAnimator->Start();
+ } else {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::Show: listenAnimator is null");
+ }
if (RemindLabel)
{
RemindLabel->SetPosition(80, 275, 200, 25);
ThunderBirdModel::GetInstance()->StopCountUpTimer();
// 停止AI语音播放
- ai_media_play_stop();
+ // ai_media_play_stop();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::Show: Stopped AI audio playback");
// 结束音频聊天
if (TextLabel)
{
TextLabel->SetPosition(35, 64, 300, 42);
- TextLabel->SetText("");//设置为空
+ TextLabel->SetText("正在准备故事...");//设置初始文字
TextLabel->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
TextLabel->SetRollSpeed(55);
TextLabel->SetVisible(true);
if (TextLabel_Y)
{
TextLabel_Y->SetPosition(37, 66, 300, 42);
+ TextLabel_Y->SetText("正在准备故事...");//设置初始文字
TextLabel_Y->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE);
TextLabel_Y->SetStyle(STYLE_TEXT_COLOR, 0xff000000);
TextLabel_Y->SetRollSpeed(55);
void ThunderBirdLullabyView::UpdateLullabyText(const char *text)
{
- // 先停止滚动,确保同步
- TextLabel->SetAnimState(Animator::STOP);
- TextLabel_Y->SetAnimState(Animator::STOP);
-
- // 设置文本
- TextLabel->SetText(text);
- TextLabel_Y->SetText(text);
-
- // 同时开始滚动,确保同步
- TextLabel->SetAnimState(Animator::START);
- TextLabel_Y->SetAnimState(Animator::START);
+ if(!TextLabel || !TextLabel_Y) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::UpdateLullabyText: TextLabel or TextLabel_Y is null");
+ return;
+ }
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdLullabyView::UpdateLullabyText: 更新故事文字: %s", text ? text : "null");
+
+ // 先停止滚动,确保同步
+ TextLabel->SetAnimState(Animator::STOP);
+ TextLabel_Y->SetAnimState(Animator::STOP);
+
+ // 设置文本
+ TextLabel->SetText(text);
+ TextLabel_Y->SetText(text);
+
+ // 同时开始滚动,确保同步
+ TextLabel->SetAnimState(Animator::START);
+ TextLabel_Y->SetAnimState(Animator::START);
}
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdMainView::ChangeView: 从常亮界面退出,关闭屏幕常亮,重新设置息屏时间");
ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); // 关闭屏幕常亮
uapi_setScreenDuration(30000); // 重新设置30秒自动息屏
- ThunderBirdModel::GetInstance()->HighFrequence();
+ //ThunderBirdModel::GetInstance()->HighFrequence();
}
// OTA界面已独立为slice,不再需要此检查
restore_factory_settings();
} else {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "普通警告界面超时,返回原任务");
- view->GoBackToPreviousView();
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
}
}
// 检查是否是任务提醒界面,需要返回原任务
currentSubView == ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "任务提醒界面超时,返回原任务");
ThunderBirdModel::GetInstance()->HighFrequence();
- view->GoBackToPreviousView();
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
}
}
} else {
//若为意图识别结果,则跳转到4,否则跳转到2
if(is_intention_result == 0)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 意图识别结果,跳转到4");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 非意图识别结果,跳转到4");
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
//清空文本队列
ClearAudioTextQueue();
}
else//意图识别结果
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 非意图识别结果,跳转到2");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleSleepModeStart: 意图识别结果,跳转到2");
+ //看后续是否需要
+ ln_ws_end_audio_chat();//结束对话
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2);
}
} else {
if (view) {
int16_t currentView = view->GetCurrentView();
int16_t currentSubView = view->GetCurrentSubView();
-
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioRecordingEnd: currentView=%d, currentSubView=%d", currentView, currentSubView);
// 如果当前在对话界面,且不是在状态显示界面(说明是正常录音结束,不是退出对话)
if (currentView == THUNDERBIRD_DIALOGUEVIEW &&
- currentSubView != ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW) {
+ currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "录音结束,跳转到播放界面");
view->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_SPEAKING);
-
+ }
+ else if (currentView == THUNDERBIRD_LULLABYVIEW &&
+ currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "录音结束,跳转到故事选择界面");
+ view->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ }
+ else{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioRecordingEnd: 不满足推送条件 ");
+ }
// 停止聆听超时定时器
StopCountUpTimer();
// 清空音频文本队列
ClearAudioTextQueue();
- } else {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "录音结束,但当前在状态显示界面,跳过界面跳转(可能是退出对话模式)");
}
- }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::HandleAudioRecordingEnd: 不满足推送条件 ");
+ }
+
}
// 将英文表情映射到英文文件名
ThunderBirdLullabyView::GetInstance()->UpdateLullabyText(text.c_str());
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "音频开始播放,显示哄睡文本: %s", text.c_str());
}
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ThunderBirdModel::DequeueAndPushAudioText: 不满足推送条件 - ThunderBirdLullabyView::GetInstance()=%p, currentSubView=%d, THUNDERBIRD_LULLABYVIEW_4=%d",
+ ThunderBirdLullabyView::GetInstance(), currentSubView, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ }
}
// 检查队列中是否有文本
// 短按FUNC键(息屏状态下)
if (keyState == InputDevice::STATE_PRESS && screenState == 0 ) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleFuncKey: KEY_TYPE_FUNC press");
+
+ // 在非对话模式下按下FUNC键时,预先初始化音频
+ if (!isDialogueing && (currentView == THUNDERBIRD_DIALOGUEVIEW && currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW)) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "非对话模式下FUNC键按下,预先初始化音频");
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT, NULL, 0);
+ }
+
if(currentView == THUNDERBIRD_LULLABYVIEW && currentSubView == ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3)
{
HandleLullabyFunction(currentView, currentSubView);
}
}
+ // FUNC键松开时,如果没有进入对话模式则关闭音频初始化
+ if (keyState == InputDevice::STATE_RELEASE && screenState == 0 && !isDialogueing && currentView != THUNDERBIRD_LULLABYVIEW) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FUNC键松开,未进入对话模式,关闭音频初始化");
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
+ }
+
return true;
}
ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_5);
break;
case ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_5:
- ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_1);
+ // THUNDERBIRD_GUIDEVIEW_5 按音量+键跳转到对话界面并开启对话
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "THUNDERBIRD_GUIDEVIEW_5: 进入对话模式");
+ ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_GUIDEVIEW, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING);
+ isDialogueing = true;
+ // 进入对话模式时记录当前表情
+ //ThunderBirdModel::GetInstance()->OnEnterDialogueMode();
+ // 开始对话
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT, NULL, 0);
+ ln_ws_start_audio_chat(LN_AUDIO_CHAT_VOICE_CHAT_REQUEST);
+
break;
}
}
{
switch (currentSubView) {
case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2:
- ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3);
//清空文本队列
+ ln_ws_end_audio_chat();//结束对话
+ AI_ForceInterrupt();
+ ln_ws_send_voice_chat_interrupt("进入哄睡");
ThunderBirdModel::GetInstance()->ClearAudioTextQueue();
- ln_ws_audio_init();//功耗优化
- ln_ws_send_random_story_request("随机故事");
+ ln_ws_start_audio_chat(LN_AUDIO_CHAT_CHOOSE_STORY_REQUEST);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleLullabyViewNavigation: 选择故事");
+ //ln_ws_send_random_story_request("随机故事");
break;
case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_3:
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ ln_ws_end_audio_chat();//结束对话
+ AI_ForceInterrupt();
+ ln_ws_send_voice_chat_interrupt("进入哄睡");
+ ThunderBirdModel::GetInstance()->ClearAudioTextQueue();
+ //ln_ws_start_audio_chat(LN_AUDIO_CHAT_CHOOSE_STORY_REQUEST);
+ ln_ws_send_random_story_request("随机故事");
break;
case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4:
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5);
break;
case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_5:
+ ln_ws_end_audio_chat();//结束对话
do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_STORY_FINISH, NULL, 0);//确认结束哄睡
+ // 退出对话模式时恢复表情
AI_ForceInterrupt();
ln_ws_send_voice_chat_interrupt("退出哄睡");
+ do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
+ ThunderBirdModel::GetInstance()->HighFrequence();//恢复视频帧率
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
break;
}
else if(keyType == KEY_TYPE_VENDOR_DOWN)
{
switch (currentSubView) {
+ case ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_2:
+ 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_3:
- ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_LULLABYVIEW, ThunderBirdLullabyView::THUNDERBIRD_LULLABYVIEW_4);
+ 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);
//回原界面
ThunderBirdModel::GetInstance()->StopCountUpTimer(); // 手动跳转时关闭定时器
ThunderBirdModel::GetInstance()->HighFrequence();
- ThunderBirdMainView::GetInstance()->GoBackToPreviousView();
+ ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_ADJUSTVIEW, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+
break;
case ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_DIALOGUE_NOT_ENOUGH://提醒界面-对话不足
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
switch (currentSubView) {
case ThunderBirdAdjustView::THUNDERBIRD_ADJUSTVIEW_WARNING://退出返回原任务
ThunderBirdModel::GetInstance()->StopCountUpTimer(); // 手动跳转时关闭定时器
- ThunderBirdMainView::GetInstance()->GoBackToPreviousView();
+ ThunderBirdMainView::GetInstance()->ChangeView(THUNDERBIRD_ADJUSTVIEW, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+
break;
}
}
if((currentView == THUNDERBIRD_DIALOGUEVIEW && currentSubView == ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW)
|| (currentView == THUNDERBIRD_GUIDEVIEW))
{
+ ThunderBirdModel::GetInstance()->LowFrequence();//减低视频帧率
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "进入对话模式");
ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_LISTENING);
isDialogueing = true;
// 进入对话模式时记录当前表情
ThunderBirdModel::GetInstance()->OnEnterDialogueMode();
- //ThunderBirdDialogueView::GetInstance()->UpdateDialogueText("点击开始对话");
- //DialogueingFlag = true;
- //ln_ws_audio_init();//功耗优化
+ // do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT, NULL, 0);
+ // 音频已在按键按下时初始化,这里直接开始对话
ln_ws_start_audio_chat(LN_AUDIO_CHAT_VOICE_CHAT_REQUEST);//开始对话
- do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_INIT, NULL, 0);
+
}
else if(currentView == THUNDERBIRD_DIALOGUEVIEW)
{
}
// 停止实际的音频播放
- ai_media_play_stop();
+ // ai_media_play_stop();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ThunderBirdPresenter::HandleFuncKeyLongPress: Stopped AI audio playback");
ln_ws_end_audio_chat();//结束对话
// 退出对话模式时恢复表情
AI_ForceInterrupt();
ln_ws_send_voice_chat_interrupt("退出对话");
-
- //ln_ws_audio_deinit();//功耗优化
-
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_AUDIO_DEINIT, NULL, 0);
- isDialogueing = false;
+ isDialogueing = false;
// DialogueingFlag = false;
- ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+
+ // 检查绑定状态,如果未绑定则跳转到 THUNDERBIRD_GUIDEVIEW_5
+ if (!ThunderBirdModel::GetInstance()->getbind_status()) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设备未绑定,跳转到 THUNDERBIRD_GUIDEVIEW_5");
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_GUIDEVIEW, ThunderBirdGuideView::THUNDERBIRD_GUIDEVIEW_5);
+ } else {
+ ThunderBirdMainView::GetInstance()->ChangeView(currentView, THUNDERBIRD_DIALOGUEVIEW, ThunderBirdDialogueView::THUNDERBIRD_DIALOGUEVIEW_STATUS_SHOW);
+ }
+ ThunderBirdModel::GetInstance()->HighFrequence();//恢复视频帧率
ThunderBirdModel::GetInstance()->OnExitDialogueMode();
}
#define ENABLE_BINARY_DATA_INTERRUPT_CHECK 1 // 启用二进制数据间隔检查
// 主线程循环间隔时长(毫秒)
-#define LN_WS_MAIN_THREAD_INTERVAL_MS 500
+#define LN_WS_MAIN_THREAD_INTERVAL_MS 200
// 心跳间隔(秒)
#define LN_WS_HEARTBEAT_INTERVAL_SEC 30 //5分钟发送一次心跳,正常最大7分钟
// 记录接收数据的时间
g_last_binary_data_tick = osKernelGetTickCount();
- // if (!is_chat_id_matched()) {
- // LN_WS_WARN("Chat ID not matched\n");
- // return;
- // }
+ if (!is_chat_id_matched()) {
+ LN_WS_WARN("Chat ID not matched\n");
+ return;
+ }
if (!raw_data || data_len == 0) {
LN_WS_ERROR("Invalid binary data parameters\n");