From 4fadbcc26e6de95a37076049678dd4e43e6e150c Mon Sep 17 00:00:00 2001 From: penglei <1624952103@qq.com> Date: Thu, 8 Aug 2024 18:20:39 +0800 Subject: [PATCH] =?utf8?q?=E5=BC=80=E5=90=AF=E7=A6=BB=E7=BA=BF=E8=AF=AD?= =?utf8?q?=E9=9F=B3=E5=8A=A9=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativelauncher/include/UiConfig.h | 74 +++++++++++++++++++ .../nativelauncher/src/NativeLauncher.cpp | 9 ++- .../nativeui/applist/src/ApplistModel.cpp | 1 + .../nativeui/main/src/MainPresenterSample.cpp | 2 + .../offlinevoice/include/VocassistView.h | 3 + .../offlinevoice/src/VocassistView.cpp | 62 +++++++++++++++- 6 files changed, 146 insertions(+), 5 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h index 8cfabc49f..42e1d8c7c 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h @@ -373,6 +373,80 @@ namespace OHOS static constexpr const char *PNG_466x100BUTTON_IMAGE = APP_RES_PATH "/466x100button.bin"; // 466x100button图片 + /* ---------------------------------- 智能助手 ---------------------------------- */ + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE01 = APP_RES_PATH "/VOICE_ASSISTANT_01.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE02 = APP_RES_PATH "/VOICE_ASSISTANT_02.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE03 = APP_RES_PATH "/VOICE_ASSISTANT_03.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE04 = APP_RES_PATH "/VOICE_ASSISTANT_04.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE05 = APP_RES_PATH "/VOICE_ASSISTANT_05.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE06 = APP_RES_PATH "/VOICE_ASSISTANT_06.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE07 = APP_RES_PATH "/VOICE_ASSISTANT_07.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE08 = APP_RES_PATH "/VOICE_ASSISTANT_08.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE09 = APP_RES_PATH "/VOICE_ASSISTANT_09.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE10 = APP_RES_PATH "/VOICE_ASSISTANT_10.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE11 = APP_RES_PATH "/VOICE_ASSISTANT_11.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE12 = APP_RES_PATH "/VOICE_ASSISTANT_12.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE13 = APP_RES_PATH "/VOICE_ASSISTANT_13.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE14 = APP_RES_PATH "/VOICE_ASSISTANT_14.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE15 = APP_RES_PATH "/VOICE_ASSISTANT_15.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE16 = APP_RES_PATH "/VOICE_ASSISTANT_16.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE17 = APP_RES_PATH "/VOICE_ASSISTANT_17.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE18 = APP_RES_PATH "/VOICE_ASSISTANT_18.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE19 = APP_RES_PATH "/VOICE_ASSISTANT_19.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE20 = APP_RES_PATH "/VOICE_ASSISTANT_20.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE21 = APP_RES_PATH "/VOICE_ASSISTANT_21.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE22 = APP_RES_PATH "/VOICE_ASSISTANT_22.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE23 = APP_RES_PATH "/VOICE_ASSISTANT_23.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE24 = APP_RES_PATH "/VOICE_ASSISTANT_24.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE25 = APP_RES_PATH "/VOICE_ASSISTANT_25.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE26 = APP_RES_PATH "/VOICE_ASSISTANT_26.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE27 = APP_RES_PATH "/VOICE_ASSISTANT_27.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE28 = APP_RES_PATH "/VOICE_ASSISTANT_28.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE29 = APP_RES_PATH "/VOICE_ASSISTANT_29.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE30 = APP_RES_PATH "/VOICE_ASSISTANT_30.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE31 = APP_RES_PATH "/VOICE_ASSISTANT_31.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE32 = APP_RES_PATH "/VOICE_ASSISTANT_32.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE33 = APP_RES_PATH "/VOICE_ASSISTANT_33.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE34 = APP_RES_PATH "/VOICE_ASSISTANT_34.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE35 = APP_RES_PATH "/VOICE_ASSISTANT_35.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE36 = APP_RES_PATH "/VOICE_ASSISTANT_36.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE37 = APP_RES_PATH "/VOICE_ASSISTANT_37.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE38 = APP_RES_PATH "/VOICE_ASSISTANT_38.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE39 = APP_RES_PATH "/VOICE_ASSISTANT_39.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE40 = APP_RES_PATH "/VOICE_ASSISTANT_40.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE41 = APP_RES_PATH "/VOICE_ASSISTANT_41.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE42 = APP_RES_PATH "/VOICE_ASSISTANT_42.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE43 = APP_RES_PATH "/VOICE_ASSISTANT_43.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE44 = APP_RES_PATH "/VOICE_ASSISTANT_44.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE45 = APP_RES_PATH "/VOICE_ASSISTANT_45.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE46 = APP_RES_PATH "/VOICE_ASSISTANT_46.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE47 = APP_RES_PATH "/VOICE_ASSISTANT_47.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE48 = APP_RES_PATH "/VOICE_ASSISTANT_48.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE49 = APP_RES_PATH "/VOICE_ASSISTANT_49.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE50 = APP_RES_PATH "/VOICE_ASSISTANT_50.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE51 = APP_RES_PATH "/VOICE_ASSISTANT_51.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE52 = APP_RES_PATH "/VOICE_ASSISTANT_52.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE53 = APP_RES_PATH "/VOICE_ASSISTANT_53.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE54 = APP_RES_PATH "/VOICE_ASSISTANT_54.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE55 = APP_RES_PATH "/VOICE_ASSISTANT_55.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE56 = APP_RES_PATH "/VOICE_ASSISTANT_56.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE57 = APP_RES_PATH "/VOICE_ASSISTANT_57.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE58 = APP_RES_PATH "/VOICE_ASSISTANT_58.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE59 = APP_RES_PATH "/VOICE_ASSISTANT_59.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE60 = APP_RES_PATH "/VOICE_ASSISTANT_60.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE61 = APP_RES_PATH "/VOICE_ASSISTANT_61.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE62 = APP_RES_PATH "/VOICE_ASSISTANT_62.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE63 = APP_RES_PATH "/VOICE_ASSISTANT_63.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE64 = APP_RES_PATH "/VOICE_ASSISTANT_64.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE65 = APP_RES_PATH "/VOICE_ASSISTANT_65.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE66 = APP_RES_PATH "/VOICE_ASSISTANT_66.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE67 = APP_RES_PATH "/VOICE_ASSISTANT_67.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE68 = APP_RES_PATH "/VOICE_ASSISTANT_68.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE69 = APP_RES_PATH "/VOICE_ASSISTANT_69.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE70 = APP_RES_PATH "/VOICE_ASSISTANT_70.bin"; + static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE71 = APP_RES_PATH "/VOICE_ASSISTANT_71.bin"; + static constexpr const char *PNG_APPLIST_VOCASSIST_IMAGE = APP_RES_PATH "/APPLIST_VOCASSIST_IMAGE.bin"; + /* -------------------------------- 已删除的不必要图片 ------------------------------- */ static constexpr const char *PNG_APPLIST_UI_SAMPLE_IMAGE = APP_RES_PATH "/APPLIST_UI_SAMPLE.bin"; // Applist图标 static constexpr const char *PNG_APPLIST_TEMP_IMAGE = APP_RES_PATH "/TEMP_IMAGE.bin"; diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index 2c6a3148a..f11b6da63 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -397,9 +397,11 @@ namespace OHOS {VIEW_SLEEP, &NativeLauncher::InitSleepSlice}, /*设置表盘样式*/ {VIEW_SET_DIAL_STYLE, &NativeLauncher::InitSetDialStyleSlice}, - /*心率周期检测*/ - //{VIEW_SET_HEART, &NativeLauncher::InitSetHeartSlice}, - /* -------------------------------------------------------------------------- */ + /*心率周期检测*/ + //{VIEW_SET_HEART, &NativeLauncher::InitSetHeartSlice}, + /* -------------------------------------------------------------------------- */ + /*智能助手*/ + {VIEW_OFFLINEVOICE, &NativeLauncher::InitOfflineVoice}, #ifdef SUPPORT_ALIPAY_SEC {VIEW_MAIN_ALIPAY, &NativeLauncher::InitMainAlipaySlice}, @@ -407,7 +409,6 @@ namespace OHOS {VIEW_MAIN_TEMP, &NativeLauncher::InitMainTempSlice}, #if 0 {VIEW_MAIN_ACTIVITY, &NativeLauncher::InitActivitySlice}, - {VIEW_OFFLINEVOICE, &NativeLauncher::InitOfflineVoice}, {VIEW_UISAMPLE, &NativeLauncher::InitUISampleSlice} #endif }; diff --git a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp index 39f51d5c2..cac03770f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp @@ -85,6 +85,7 @@ namespace OHOS {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr}, {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "省电模式", STR_POWER_SAVE_MODE, nullptr}, {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr}, + {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_DEFAULT_IMG, "语音助手", STR_VOICE_ASSISTANT, nullptr}, {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr}, #if 0 /*屏蔽Slice*/ diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp index 212bea74f..8dbe6a99c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp @@ -44,7 +44,9 @@ namespace OHOS {DROPDOWN_CLICK_SETTING, VIEW_SETTING}, // 设置 {DROPDOWN_CLICK_BLUETOOTH, VIEW_CLASSIC_BLUETOOTH}, // 蓝牙 {DROPDOWN_CLICK_DNOTDISTURB, VIEW_DNOTDISTURB}, // 勿扰 +#ifdef SUPPORT_ALIPAY_SEC {DROPDOWN_CLICK_SAVEELE, VIEW_MAIN_ALIPAY}, // 支付宝 +#endif {DROPDOWN_CLICK_FINDMYPHONE, VIEW_NETWORKANDCALL}, // 4G {MAIN_CLICK_BLOOD, VIEW_BLOOD_CHECK}, // 血氧检查 {MAIN_CLICK_SETCARD, VIEW_ADD_CARD}, // 卡片管理 diff --git a/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/include/VocassistView.h b/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/include/VocassistView.h index 8ec962153..18601aaf8 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/include/VocassistView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/include/VocassistView.h @@ -135,6 +135,7 @@ namespace OHOS { void SetCmdContext(std::string str); // 设置要展示的文字 void DelayTimeCallbackExtend(); void DeleteWordLabel(); // 删除识别到的文字 + void ChangeCallWord(std::string Word); // 切换提示词 private: void InitVocassist(void); // 初始化语音图标控件 void InitWordlabel(void); // 初始化文本控件 @@ -145,6 +146,7 @@ namespace OHOS { void CloseVocassist(); // 波形切换为语音助手图标并清除文字 std::string GetCmdContext(); UILabel *wordContext{nullptr}; + UILabel *callwordContext{nullptr}; UIScrollView *workFrame{nullptr}; UIImageAnimatorView::AnimatorStopListener* stoplistener{nullptr}; UIView::OnClickListener* onClickListener{nullptr}; @@ -152,6 +154,7 @@ namespace OHOS { char storPicPathBuf[ANI_TOTAL_NUM][PATH_LENGTH]; ImageAnimatorInfo imageAnimatorInfo[ANI_TOTAL_NUM]; std::string allWord; // 记录显示文字 + std::string callWord; }; } #endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp b/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp index 9f7378770..ab6637dd5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/offlinevoice/src/VocassistView.cpp @@ -35,8 +35,11 @@ static constexpr uint16_t VOCASSIST_HEIGHTH = 80; static constexpr uint16_t WORD_LENGTH = 60; static constexpr int16_t ERROR_RETVAL = -1; +static uint8_t callword_index = 0; + namespace OHOS { static osTimerId_t g_closeVocassistHandle = nullptr; +static osTimerId_t g_callwordHandle = nullptr; static VoiceAssistance *g_pVoiceAssistance = nullptr; enum { @@ -87,6 +90,27 @@ static constexpr char g_resStr[RESPONESE_MAX][WORD_LENGTH]{ {"当前没有来电"} }; +static char CallWordStr[10][20] = { + "小艺小艺", + "接听电话", + "挂断电话", + "上一首", + "下一首", + "调大音量", + "调小音量", + "播放音乐", + "停止播放", + "继续播放",}; + +void callwordTimerCallback(void) +{ + VoiceAssistance::GetInstance()->ChangeCallWord(CallWordStr[callword_index]); + callword_index++; + if(callword_index == 10) + callword_index = 0; +} + + VoiceAssistance::VoiceAssistance() { g_pVoiceAssistance = this; @@ -106,11 +130,21 @@ VoiceAssistance::~VoiceAssistance() g_closeVocassistHandle = nullptr; } + if (g_callwordHandle != nullptr) { + osStatus_t statusRet = osTimerDelete(g_callwordHandle); + if (statusRet != osOK) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Delete g_callwordHandle failed!!"); + } + g_callwordHandle = nullptr; + } + delete voicePhoto; voicePhoto = nullptr; workFrame->RemoveAll(); delete wordContext; wordContext = nullptr; + delete callwordContext; + callwordContext = nullptr; delete workFrame; workFrame = nullptr; } @@ -425,7 +459,21 @@ void VoiceAssistance::InitWordlabel() // 识别出的命令文本初始化 LABEL_TEXT_WIDTH, LABEL_TEXT_HEIGHT); wordContext->SetAlign(TEXT_ALIGNMENT_CENTER); wordContext->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); + + callwordContext = new UILabel(); + if (callwordContext == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to Create callwordContext!!"); + return; + } + callwordContext->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_TEXT_SIZE); + callwordContext->SetPosition(LABEL_TEXT_X_COORDINATE, 200, + LABEL_TEXT_WIDTH, LABEL_TEXT_HEIGHT); + callwordContext->SetAlign(TEXT_ALIGNMENT_CENTER); + callwordContext->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); + workFrame->Add(wordContext); + workFrame->Add(callwordContext); + } bool VoiceAssistance::InitView(void *caller) // 界面初始化 @@ -453,7 +501,8 @@ bool VoiceAssistance::InitView(void *caller) // 界面初始化 return false; } Add(workFrame); - + g_callwordHandle = osTimerNew((osTimerFunc_t)callwordTimerCallback, osTimerPeriodic, NULL, NULL); + osTimerStart(g_callwordHandle,3000); voicePhoto->Start(); return true; } @@ -615,6 +664,8 @@ void VoiceAssistance::DelayTimeCallbackExtend() return; } + + void DelayTimeCallback(const void *argument) { UNUSED(argument); @@ -623,6 +674,7 @@ void DelayTimeCallback(const void *argument) } VoiceAssistance *ptr = VoiceAssistance::GetInstance(); GraphicService::GetInstance()->PostGraphicEvent(std::bind(&VoiceAssistance::DelayTimeCallbackExtend, ptr)); + } void VoiceAssistance::ExitProgress() @@ -685,4 +737,12 @@ void VoiceAssistance::DelayDisplayTime(int32_t waitSec) return; } } + +void VoiceAssistance::ChangeCallWord(std::string Word) +{ + callWord = "提示:" + Word; + callwordContext->SetText(callWord.c_str()); // 在Label设置识别到的文字 + callwordContext->Invalidate(); +} + } -- 2.17.1