1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 
5 #ifndef __UVOICE_EVENT_H__
6 #define __UVOICE_EVENT_H__
7 
8 /** @defgroup uvoice_event_api uvoice_event
9  *  @ingroup uvoice_aos_api
10  * @{
11  */
12 
13 #define UVOICE_EV_PLAYER				0x0111
14 #define UVOICE_CODE_PLAYER_STATE		1
15 #define UVOICE_CODE_PALYER_CACHE_CPLT	2
16 #define UVOICE_CODE_PALYER_DLOAD_CPLT	3
17 
18 #define UVOICE_EV_RECORDER				0x0112
19 #define UVOICE_CODE_RECORDER_STATE		1
20 
21 #define UVOICE_EV_SW					0x0113
22 #define UVOICE_CODE_HEADPHONE			1
23 #define UVOICE_CODE_HEADSET				2
24 
25 #define UVOICE_EV_ST					0x0114
26 #define UVOICE_CODE_VAD_START			1
27 #define UVOICE_CODE_VAD_END				2
28 #define UVOICE_CODE_VOICE_WAKEUP		3
29 
30 #define UVOICE_EV_ASR_RESULT			0x0115
31 
32 
33 typedef struct {
34 	uint16_t type;
35 	uint16_t code;
36 	int value;
37 } uvoice_event_t;
38 
39 typedef void (*uvoice_event_cb)(uvoice_event_t *event, void *data);
40 int uvoice_event_post(uint16_t type, uint16_t code, int value);
41 int uvoice_event_register(uint16_t type, uvoice_event_cb cb, void *data);
42 int uvoice_event_unregister(uint16_t type, uvoice_event_cb cb, void *data);
43 
44 /**
45  * @}
46  */
47 
48 #endif /* __UVOICE_EVENT_H__ */
49 
50