/*================================================================ Copyright (c) 2022, Quectel Wireless Solutions Co., Ltd. All rights reserved. Quectel Wireless Solutions Proprietary and Confidential. =================================================================*/ #ifndef _QUEC_TTS_H #define _QUEC_TTS_H typedef struct { char name[8]; int offset; int size; }quec_tts_file; typedef enum { QUEC_TTS_NO_ERROR, QUEC_TTS_MAGIC_ERROR, QUEC_TTS_MALLOC_ERROR, }QUEC_TTS_RESULT; typedef enum { QUEC_TTS_EVT_INIT, QUEC_TTS_EVT_DEINIT, QUEC_TTS_EVT_PLAY_START, QUEC_TTS_EVT_PLAY_STOP, QUEC_TTS_EVT_PLAY_FINISH, QUEC_TTS_EVT_PLAY_FAILED, QUEC_TTS_EVT_PLAY_INTERRUPT, QUEC_TTS_EVT_PLAY_PREAPARED, QUEC_TTS_EVT_PLAY_PCMDATA, } QUEC_TTS_ENVENT_E; typedef void (*quec_tts_cb_type)(QUEC_TTS_ENVENT_E event, char *str); typedef int (*quec_tts_readbuf_cb)(void *pParameter, void * pBuffer, unsigned long iPos, unsigned long nSize); int quec_tts_init(quec_tts_cb_type usr_cb); int quec_tts_deinit(void); int quec_tts_play(int mode, const char* string); int quect_tts_stop(void); int quec_tts_state(void); int quec_tts_set_volume(int volume); int quec_tts_get_volume(void); int quec_tts_set_speed(int speed); int quec_tts_get_speed(void); int quec_tts_digit_mode(int mode); int quec_get_tts_digit_mode(void); void ql_tts_separate_callback(quec_tts_readbuf_cb read_cb); int quec_tts_set_language(int language); int quec_tts_get_language(void); #endif