XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Fix SpeechRecognition on Phone

f323e885
Heiner Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

1 个文件 +2 -16
Modified g4f/gui/client/static/js/chat.v1.js +2 -16
@@ -1261,38 +1261,27 @@ if (SpeechRecognition) {
1261 1261 recognition.interimResults = true;
1262 1262 recognition.maxAlternatives = 1;
1263 1263
1264 let shouldStop = false;
1265 1264 function may_stop() {
1266 1265 if (microLabel.classList.contains("recognition")) {
1267 shouldStop = true
1268 1266 recognition.stop();
1269 1267 }
1270 1268 }
1271 1269
1272 1270 let startValue;
1273 let timeoutHandle;
1274 1271 let lastDebounceTranscript;
1275 1272 recognition.onstart = function() {
1276 1273 microLabel.classList.add("recognition");
1277 1274 startValue = messageInput.value;
1278 1275 lastDebounceTranscript = "";
1279 timeoutHandle = window.setTimeout(may_stop, 10000);
1280 1276 };
1281 1277 recognition.onend = function() {
1282 if (shouldStop) {
1283 microLabel.classList.remove("recognition");
1284 messageInput.focus();
1285 } else {
1286 recognition.start();
1287 }
1278 microLabel.classList.remove("recognition");
1279 messageInput.focus();
1288 1280 };
1289 1281 recognition.onresult = function(event) {
1290 window.clearTimeout(timeoutHandle);
1291 timeoutHandle = window.setTimeout(may_stop, 8000);
1292 1282 if (!event.results) {
1293 1283 return;
1294 1284 }
1295
1296 1285 let result = event.results[event.resultIndex];
1297 1286 let isFinal = result.isFinal && (result[0].confidence > 0);
1298 1287 let transcript = result[0].transcript;
@@ -1314,13 +1303,10 @@ if (SpeechRecognition) {
1314 1303
1315 1304 microLabel.addEventListener("click", () => {
1316 1305 if (microLabel.classList.contains("recognition")) {
1317 window.clearTimeout(timeoutHandle);
1318 shouldStop = true;
1319 1306 recognition.stop();
1320 1307 } else {
1321 1308 const lang = document.getElementById("recognition-language")?.value;
1322 1309 recognition.lang = lang || navigator.language;
1323 shouldStop = false;
1324 1310 recognition.start();
1325 1311 }
1326 1312 });