|
@@ -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()
|