mcu_hi3321_watch/tjd/ui/app/voice_assistant/TjdUiAppVocassistModel.h
2025-05-26 20:15:20 +08:00

80 lines
2.6 KiB
C++

/*
* Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved.
* Description: voice assistant
* Author: CompanyName
* Create: 2022-01-18
*/
#ifndef TJD_VOCASSIST_MODEL_H
#define TJD_VOCASSIST_MODEL_H
#include "smart_voice_service.h"
#include "TjdUiAppVoiceAssistantView.h"
#ifdef __cplusplus
extern "C" {
#endif
void VoiceFunction(SmartVoiceEventType type, td_void *data, td_s32 size);
#ifdef __cplusplus
}
#endif
namespace TJD {
typedef enum {
ONE_ROAD_AND_INCOMING,
ONE_OR_MORE_ROAD_AND_OTHER_STATUS,
OTHER_STATUS
} PhoneStatus;
typedef enum {
DISABLE,
ENABLE
} EnableChoice;
// enum SwitchApp {
// SWITCH_TO_XIAOYI,
// SWITCH_TO_MAKECALL,
// SWITCH_TO_CUTCALL,
// PRE_SONG,
// NEXT_SONG,
// INCREASE_VOLUME,
// DECREASE_VOLUME,
// SWITCH_TO_PLAYER,
// PAUSE_PLAYBACK,
// RESUME_PLAYBACK,
// SWITCH_TO_UNKNOWN,
// SWITCH_TO_VOCASSIST,
// };
class TjdUiVocassistModel {
public:
TjdUiVocassistModel();
virtual ~TjdUiVocassistModel();
static TjdUiVocassistModel *GetInstance(void);
void Init(); // 初始化语音识别服务
void UnInit(); // 结束语音识别服务
int GetPhoneDetailStatus(); // 获取来电时的状态
// int GetToggleFlag(); // 获取语音图标到波形变换的转换标志位
// void SetToggleFlag(int val); // 设置语音图标到波形变换的转换标志位
int GetRegFlag(); // 获取识别出的命令操作标志位
void SetRegFlag(int val); // 设置识别出的命令操作标志位
// int GetExitStatus(); // 获取退出语音助手状态标志位
// void SetExitStatus(int val); // 设置退出语音助手状态标志位
int GetConnectFlag(); // 获取连接动画标志位
void SetConnectFlag(int flag); // 设置连接动画标志位
bool GetHasOneCmd();
void SetHasOneCmd(bool fg);
private:
// int toggleFg{ALREADY_OPEN_VOCASSIST_IMAGE}; // 记录语音图标和波形标志位
int regFlag{SWITCH_TO_UNKNOWN}; // 命令操作标志位
// int exitStatus{INTERRUPT_EXIT}; // 判断是否因太长时间未操作退出语音助手
// int imgConnectFlag{CONNECT_TO_VOCASSIST}; // 记录动画标志位
bool hasOneCmd{false}; // 每次只执行一条命令
};
}
#endif