shanghui 1 день назад
Родитель
Сommit
a5c81b4e0b
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      src/core/voip/bot.py

+ 9 - 1
src/core/voip/bot.py

@@ -231,6 +231,8 @@ class MyCall(pj.Call):
         self.inter_action_total = 0
         self.statistics_lock = False
 
+        self._has_reset_in_this_sentence = False
+
 
     def wait_time_check(self, current_time, wait_time):
         try:
@@ -353,8 +355,14 @@ class MyCall(pj.Call):
                 result = message["payload"]["result"]
                 # self.logger.info("asr返回内容Result:%s", result)
                 self.user_asr_text_queue.put(result)
-            elif message["header"]["name"] == "TranscriptionResultChanged":
+                if not getattr(self, "_has_reset_in_this_sentence", False):
+                    self.reset_wait_time()
+            elif message["header"]["name"] == "SentenceBegin":
+                self._has_reset_in_this_sentence = False
+                self.reset_wait_time()
+            elif message["header"]["name"] == "TranscriptionResultChanged" :
                 self.reset_wait_time()
+                self._has_reset_in_this_sentence = True
         else:
             self.logger.info(f"Status is not {message['header']['status']}")
             registry.ASR_ERRORS.labels(message['header']['status']).inc()