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