AttentionVoice.c
6.7 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
#include <stdio.h>
#include <string.h>
#include "JZsdkLib.h"
#include "version_choose.h"
#include "Megaphone/Megaphone.h"
#include "DeviceInfo/DeviceInfo.h"
extern unsigned char *g_JZsdkParam_PlayPromptTTS; //播放提示音
T_JZsdkReturnCode Start_voice()
{
if (APP_VERSION == APP_UART)
{
if (SPECIAL_VERSION == SPECIAL_DAOTONG)
{
//道通不播报启动语音
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}
else
{
//根据语言信息设置语言
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
{
int language = 0x01;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
//播放喊话器启动中
Megaphone_TTS_Play("喊话器直连模式启动中", strlen("喊话器直连模式启动中"), JZ_FLAGCODE_OFF);
}
else
{
int language = 0x11;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
//播放喊话器启动中
Megaphone_TTS_Play("The direct connection mode of the speaker is being activated", strlen("The direct connection mode of the speaker is being activated"), JZ_FLAGCODE_OFF);
delayS(2);
}
delayS(4);
}
}
}
T_JZsdkReturnCode Start_up_and_broadcast_voice()
{
if (APP_VERSION == APP_PSDK)
{
//根据属地设置默认语言
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
{
int language = 0x01;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
//播放喊话器启动中
Megaphone_TTS_Play("喊话器准备就绪", strlen("喊话器准备就绪"), JZ_FLAGCODE_OFF);
}
else
{
int language = 0x11;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
//播放喊话器启动中
Megaphone_TTS_Play("Speaker Ready", strlen("Speaker Ready"), JZ_FLAGCODE_OFF);
}
delayS(4);
}
else if (APP_VERSION == APP_UART)
{
if (SPECIAL_VERSION == SPECIAL_DAOTONG)
{
//设置语音为英文
int tone = 0x11;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &tone);
//播放喊话器启动中
Megaphone_TTS_Play("Speaker Direct Mode Ready", strlen("Speaker Direct Mode Ready"), JZ_FLAGCODE_OFF);
delayMs(1000);
//设置语音为中文
tone = 0x01;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &tone);
}
else
{
//根据属地设置默认语言
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
{
int language = 0x01;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
//播放喊话器启动中
Megaphone_TTS_Play("喊话器直连模式准备就绪", strlen("喊话器直连模式准备就绪"), JZ_FLAGCODE_OFF);
}
else
{
int language = 0x11;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
//播放喊话器启动中
Megaphone_TTS_Play("Speaker Direct Mode Ready", strlen("Speaker Direct Mode Ready"), JZ_FLAGCODE_OFF);
}
}
delayS(4);
}
}
T_JZsdkReturnCode AttentionVoice_IndependencePlay()
{
//如果是 -p sucess 程序成功 播放喊话器升级成功
//如果是 -p updefeat 程序失败 播放喊话器升级失败
//设置音量
Megaphone_SetVolume(30 , 0);
delayMs(100);
//根据语言信息设置默认语言
int language = 0;
E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo();
if (LanguageInfo == LANGUAGE_INFO_CHINESE)
{
language = 0x01;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
}
//如果是海外版 设置为英文
else
{
language = 0x11;
Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language);
}
//如果是 -p error 程序错误 播放喊话器错误
if (strcmp((const char *)g_JZsdkParam_PlayPromptTTS, "error") == 0)
{
JZSDK_LOG_INFO("播放喊话器错误");
if (language == 0x11)
{
Megaphone_TTS_Play("Software error, restarting Megaphone.", strlen("Software error, restarting Megaphone."), JZ_FLAGCODE_ON);
}
else
{
Megaphone_TTS_Play("程序错误,正在重启喊话器", strlen("程序错误,正在重启喊话器"), JZ_FLAGCODE_ON);
}
}
else if (strcmp((const char *)g_JZsdkParam_PlayPromptTTS, "upsucess") == 0)
{
JZSDK_LOG_INFO("播放喊话器升级成功");
if (language == 0x11)
{
Megaphone_TTS_Play("Upgrade completed, restarting Megaphone.", strlen("Upgrade completed, restarting Megaphone."), JZ_FLAGCODE_ON);
}
else
{
Megaphone_TTS_Play("升级已完成,正在重启喊话器", strlen("升级已完成,正在重启喊话器"), JZ_FLAGCODE_ON);
}
}
else if (strcmp((const char *)g_JZsdkParam_PlayPromptTTS, "updefeat") == 0)
{
JZSDK_LOG_INFO("播放喊话器升级失败");
if (language == 0x11)
{
Megaphone_TTS_Play("Upgrade defeat, restarting Megaphone.", strlen("Upgrade defeat, restarting Megaphone."), JZ_FLAGCODE_ON);
}
else
{
Megaphone_TTS_Play("升级失败,请检查Log或者重启喊话器", strlen("升级失败,请检查Log或者重启喊话器"), JZ_FLAGCODE_ON);
}
}
else if (strcmp((const char *)g_JZsdkParam_PlayPromptTTS, "start") == 0)
{
JZSDK_LOG_INFO("播放喊话器启动中");
if (language == 0x11)
{
Megaphone_TTS_Play("Megaphone starting.", strlen("Megaphone starting."), JZ_FLAGCODE_ON);
}
else
{
Megaphone_TTS_Play("喊话器启动中", strlen("喊话器启动中"), JZ_FLAGCODE_ON);
}
}
delayMs(100);
//等待播放状态结束
while(1)
{
if (Megaphone_GetMegaphoneStatus() != JZ_FLAGCODE_OFF)
{
delayMs(1);
continue;
}
break;
}
return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}