54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/*================================================================
|
|
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
|