zmaee_tts_cache.h
1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/***************************************************************/
/* */
/* TTS缓存接口 */
/* MMI层将需要播报的文本保存到TTS缓存中,内核 */
/* 再从缓存中获取文本进行播报 */
/* */
/***************************************************************/
#ifndef __ZMAEE_TTS_CACHE_H__
#define __ZMAEE_TTS_CACHE_H__
#include "zmaee_tts_typedef.h"
// Cache Queue
typedef struct _ZMAEE_TTS_CACHE_ITEM ZMAEE_TTS_CACHE_ITEM;
struct _ZMAEE_TTS_CACHE_ITEM{
unsigned short *ucs2_text;
int ucs2_len;
char bIsCall;
ZMAEE_TTS_CACHE_ITEM *next;
};
typedef struct {
int count;
ZMAEE_TTS_CACHE_ITEM *list;
ZMAEE_TTS_CACHE_ITEM *tail;
}ZMAEE_TTS_CACHE_QUEUE;
/**
* 覆盖TTS缓存,清空原来所有的缓存数据,建议同步重启语音合成
* 参数:
* @ucs2Text ucs2格式的文本
* @ucs2Len ucs2文本的字符长度
* Return:
* 详见ZMAEE_TTS_RETCODE
* ZMAEE_TTS_RET_NOMEMORY 内存不足,不覆盖TTS缓存
*/
ZMAEE_TTS_RETCODE zmaee_tts_cache_replace(unsigned short *ucs2Text, int ucs2Len, char bIsCall);
/**
* 添加TTS缓存,添加到之前缓存数据的后面
* 参数:
* @ucs2Text ucs2格式的文本
* @ucs2Len ucs2文本的字符长度
* Return:
* 详见ZMAEE_TTS_RETCODE
* ZMAEE_TTS_RET_NOMEMORY 内存不足,不添加到缓存中
*/
ZMAEE_TTS_RETCODE zmaee_tts_cache_append(unsigned short *ucs2Text, int ucs2Len, char bIsCall);
/**
* 清空TTS缓存,建议同步停止语音合成
*/
void zmaee_tts_cache_clear(void);
/**
* 查询未处理的cache个数
* 返回:
* int cache个数
*/
int zmaee_tts_cache_get_count(void);
#endif // __ZMAEE_TTS_CACHE_H__