mcu_hi3321_watch/application/wearable/service/xiaodu_voice/xiaodu_voice.h
2025-05-26 20:15:20 +08:00

63 lines
2.2 KiB
C

/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: broadcast service api
* Author: CompanyName
* Create: 2021-11-11
*/
#ifndef XIAODU_VOICE_H
#define XIAODU_VOICE_H
#include "errcode.h"
#include "cmsis_os2.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
#define PCM_STREAM_MSG_QUEUE_LEN 1024
#define BAIDU_NAVI_BASE_DIR "/user/baidu_navi/"
#define BAIDU_NAVI_MAX_FILE_LEN 256
typedef enum msg_center_xiaodu_type_id {
MSGCENTER_TYPE_ID_XIAODU_START = 0x1,
MSGCENTER_TYPE_ID_XIAODU_RECV_XIAODU_INFO,
MSGCENTER_TYPE_ID_XIAODU_RECV_WENXIN_INFO,
MSGCENTER_TYPE_ID_XIAODU_RECV_TTS,
MSGCENTER_TYPE_ID_XIAODU_START_RECORD,
MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM,
MSGCENTER_TYPE_ID_XIAODU_END_RECORD,
MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,
} msg_center_xiaodu_type_id_t;
typedef struct {
uint8_t msg_id;
uint8_t *data;
uint16_t len;
} pcm_stream_queue_msg;
osMessageQueueId_t GetPcmMsgQueueId(void);
errcode_t pcm_stream_msg_thread(void *data);
errcode_t pcm_stream_queue_init(void);
errcode_t pcm_stream_create_task(void);
errcode_t msg_center_xiaodu_start(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_recv_xiaodu_info(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_recv_xiaodu_info(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_recv_wenxin_info(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_start_record(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_send_pcm_stream(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_send_end_record(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_send_stop_answer(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
errcode_t msg_center_xiaodu_recv_tts(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
void msg_center_xiaodu_audio_pcm_clear_res(void);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
#endif /* BAIDU_APP_H */