1 /*
2  * Copyright (C) 2015-2019 Alibaba Group Holding Limited
3  *
4  */
5 #include "k_api.h"
6 #if AOS_COMP_CLI
7 #include "aos/cli.h"
8 #endif
9 #include "ulog/ulog.h"
10 #include "uvoice_init.h"
11 #include "uvoice_test.h"
12 
cmd_tts_handler(char * buf,int len,int argc,char ** argv)13 void cmd_tts_handler(char *buf, int len, int argc, char **argv)
14 {
15     /* >> tts "我爱你中国" /data/tts.mp3 */
16     extern void test_tts_handle(int argc, char **argv);
17     return test_tts_handle(argc, argv);
18 }
19 
cmd_play_handler(char * buf,int len,int argc,char ** argv)20 void cmd_play_handler(char *buf, int len, int argc, char **argv)
21 {
22     /* >> play fs:/data/6.mp3 */
23 	char *param_array[2];
24 	if (argc < 2 || strcmp(argv[0], "play"))
25 		return;
26 
27     if(!strcmp(argv[1], "pause")) {
28         param_array[0] = "play";
29         param_array[1] = "pause";
30         uvoice_play_test(2, param_array);
31     } else if(!strcmp(argv[1], "resume")) {
32         param_array[0] = "play";
33         param_array[1] = "resume";
34         uvoice_play_test(2, param_array);
35     } else if(!strcmp(argv[1], "stop")) {
36         param_array[0] = "play";
37         param_array[1] = "stop";
38         uvoice_play_test(2, param_array);
39         param_array[0] = "play";
40         param_array[1] = "clear";
41         uvoice_play_test(2, param_array);
42     } else {
43         param_array[0] = "play";
44         param_array[1] = "stopsync";
45         uvoice_play_test(2, param_array);
46 
47         param_array[0] = "play";
48         param_array[1] = "clear";
49         uvoice_play_test(2, param_array);
50 
51         param_array[0] = "play";
52         param_array[1] = argv[1];
53         uvoice_play_test(2, param_array);
54     }
55 }
56 
57 #if AOS_COMP_CLI
58 struct cli_command audio_demo_commands[] = {
59 	{"play", "try 'play fs:/data/6.mp3' | 'play url' | play pause | play pause | play resume", cmd_play_handler},
60 	{"tts", "try 'tts 我爱你中国 /data/tts.mp3", cmd_tts_handler},
61 };
62 #endif /* AOS_COMP_CLI */
63 
haas_audio_init(void)64 int haas_audio_init(void)
65 {
66 	uvoice_init();
67     #if AOS_COMP_CLI
68 	aos_cli_register_commands(audio_demo_commands, sizeof(audio_demo_commands) / sizeof(struct cli_command));
69     #endif /* AOS_COMP_CLI */
70     return 0;
71 }
72