Просмотр исходного кода

add is_final for html5 and java client (#795)

zhaomingwork 2 лет назад
Родитель
Сommit
77dc80f036
2 измененных файлов с 7 добавлено и 2 удалено
  1. 2 1
      funasr/runtime/html5/static/main.js
  2. 5 1
      funasr/runtime/java/FunasrWsClient.java

+ 2 - 1
funasr/runtime/html5/static/main.js

@@ -195,6 +195,7 @@ function getJsonMessage( jsonMsg ) {
 	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 @@ function getJsonMessage( jsonMsg ) {
 	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();

+ 5 - 1
funasr/runtime/java/FunasrWsClient.java

@@ -181,7 +181,11 @@ public class FunasrWsClient extends WebSocketClient {
     } 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();
     }
   }