From 77dc80f036cb66e58915e7173d083437d1aca60a Mon Sep 17 00:00:00 2001
From: zhaomingwork <61895407+zhaomingwork@users.noreply.github.com>
Date: 星期二, 01 八月 2023 17:21:43 +0800
Subject: [PATCH] add is_final for html5 and java client (#795)

---
 funasr/runtime/java/FunasrWsClient.java |    6 +++++-
 funasr/runtime/html5/static/main.js     |    3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/funasr/runtime/html5/static/main.js b/funasr/runtime/html5/static/main.js
index 4a50801..f8d3bfd 100644
--- a/funasr/runtime/html5/static/main.js
+++ b/funasr/runtime/html5/static/main.js
@@ -195,6 +195,7 @@
 	console.log( "message: " + JSON.parse(jsonMsg.data)['text'] );
 	var rectxt=""+JSON.parse(jsonMsg.data)['text'];
 	var asrmodel=JSON.parse(jsonMsg.data)['mode'];
+	var is_final=JSON.parse(jsonMsg.data)['is_final'];
 	if(asrmodel=="2pass-offline")
 	{
 		offline_text=offline_text+rectxt; //.replace(/ +/g,"");
@@ -209,7 +210,7 @@
 	varArea.value=rec_text;
 	console.log( "offline_text: " + asrmodel+","+offline_text);
 	console.log( "rec_text: " + rec_text);
-	if (isfilemode==true){
+	if (isfilemode==true && is_final==false){
 		console.log("call stop ws!");
 		play_file();
 		wsconnecter.wsStop();
diff --git a/funasr/runtime/java/FunasrWsClient.java b/funasr/runtime/java/FunasrWsClient.java
index ec55c94..eba85bb 100644
--- a/funasr/runtime/java/FunasrWsClient.java
+++ b/funasr/runtime/java/FunasrWsClient.java
@@ -181,7 +181,11 @@
     } catch (org.json.simple.parser.ParseException e) {
       e.printStackTrace();
     }
-    if (iseof && mode.equals("offline")) {
+    if (iseof && mode.equals("offline") && !jsonObject.containsKey("is_final")) {
+      close();
+    }
+	 
+    if (iseof && mode.equals("offline") && jsonObject.containsKey("is_final") && jsonObject.get("is_final").equals("false")) {
       close();
     }
   }

--
Gitblit v1.9.1